mirror of
https://abf.rosa.ru/djam/openssh.git
synced 2025-02-25 02:33:01 +00:00
Use modern ssh-copy-id script instead of the very old one, which behaved differently from the modern one in other GNU/Linux distributions.
This commit is contained in:
parent
16c6c6d21f
commit
aeb32c5d58
2 changed files with 2 additions and 55 deletions
|
@ -20,14 +20,12 @@
|
|||
Summary: OpenSSH free Secure Shell (SSH) implementation
|
||||
Name: openssh
|
||||
Version: 7.8p1
|
||||
Release: 1
|
||||
Release: 2
|
||||
License: BSD
|
||||
Group: Networking/Remote access
|
||||
Url: http://www.openssh.com/
|
||||
Source0: http://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/%{name}-%{version}.tar.gz
|
||||
Source1: http://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/%{name}-%{version}.tar.gz.asc
|
||||
# ssh-copy-id taken from debian, with "usage" added
|
||||
Source3: ssh-copy-id
|
||||
Source9: README.sftpfilecontrol
|
||||
# this is never to be applied by default
|
||||
# http://www.sc.isc.tohoku.ac.jp/~hgot/sources/openssh-watchdog.html
|
||||
|
@ -491,8 +489,7 @@ elif [ -n "$ZSH_VERSION" ]; then
|
|||
fi
|
||||
EOF
|
||||
|
||||
install -m 0755 %{SOURCE3} %{buildroot}/%{_bindir}/ssh-copy-id
|
||||
chmod a+x %{buildroot}/%{_bindir}/ssh-copy-id
|
||||
install -p -m755 contrib/ssh-copy-id %{buildroot}%{_bindir}/
|
||||
install -m 644 contrib/ssh-copy-id.1 %{buildroot}/%{_mandir}/man1/
|
||||
|
||||
# create pre-authentication directory
|
||||
|
|
50
ssh-copy-id
50
ssh-copy-id
|
@ -1,50 +0,0 @@
|
|||
#!/bin/sh
|
||||
|
||||
# Shell script to install your identity.pub on a remote machine
|
||||
# Takes the remote machine name as an argument.
|
||||
# Obviously, the remote machine must accept password authentication,
|
||||
# or one of the other keys in your ssh-agent, for this to work.
|
||||
|
||||
ID_FILE="${HOME}/.ssh/identity.pub"
|
||||
|
||||
if [ "-i" = "$1" ]; then
|
||||
shift
|
||||
# check if we have 2 parameters left, if so the first is the new ID file
|
||||
if [ -n "$2" ]; then
|
||||
if expr "$1" : ".*\.pub" ; then
|
||||
ID_FILE="$1"
|
||||
else
|
||||
ID_FILE="$1.pub"
|
||||
fi
|
||||
shift # and this should leave $1 as the target name
|
||||
fi
|
||||
else
|
||||
if [ x$SSH_AUTH_SOCK != x ] ; then
|
||||
GET_ID="$GET_ID ssh-add -L"
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ $# != 1 ]; then
|
||||
echo "usage: ssh-copy-id [-i identity_file] [user@]hostname"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ -z "`eval $GET_ID`" -a -r "${ID_FILE}" ] ; then
|
||||
GET_ID="cat ${ID_FILE}"
|
||||
fi
|
||||
|
||||
if [ -z "`eval $GET_ID`" ]; then
|
||||
echo "$0: ERROR: No identities found"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
{ eval "$GET_ID" ; } | ssh $1 "test -d .ssh || mkdir .ssh ; cat >> .ssh/authorized_keys ; chmod g-w . .ssh .ssh/authorized_keys"
|
||||
|
||||
cat <<EOF
|
||||
Now try logging into the machine, with "ssh '$1'", and check in:
|
||||
|
||||
.ssh/authorized_keys
|
||||
|
||||
to make sure we haven't added extra keys that you weren't expecting.
|
||||
|
||||
EOF
|
Loading…
Add table
Reference in a new issue