В моих системах вход на сервер по ssh осуществляется на основе публичного ключа. Сейчас я покажу Вам, как скопировать его на удаленную систему.
Проверяем для начала, что на системах активна опция «PubkeyAuthentication»:
пример:::
keiz@ekz:~$ cat /etc/ssh/sshd_config | grep -E “PubkeyAuthentication”
PubkeyAuthentication yes
На основной системе (192.168.1.33) генерируем публичный ключ:
keiz@ekz:~$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/keiz/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/keiz/.ssh/id_rsa.
Your public key has been saved in /home/keiz/.ssh/id_rsa.pub.
The key fingerprint is:
53:10:39:e2:24:3f:07:29:5c:0b:f3:c9:8c:74:5e:f7 keiz@ekz
The key’s randomart image is:
+–[ RSA 2048]—-+
keiz@ekz:~$
, на все задаваемые вопросы принимаем значения по умолчанию (поле passphrase оставляем пустым).
Копируем с исходной машины (192.168.1.33) на удаленную (192.168.1.35) публичный ключ:
keiz@ekz:~$ cat /home/keiz/.ssh/id_rsa.pub | ssh -p 222 keiz@192.168.1.35 ‘umask 077; test -d .ssh || mkdir .ssh ; cat >>.ssh/authorized_keys’
keiz@192.168.1.35’s password:
keiz@ekz:~$
, поясню
-p 222 — это у меня на удаленной системе сервис ssh работает на не стандартном порту.
Umask 077 — выставляем маску для всех создаваемых файлов
test -d .ssh — проверяем существует ли каталог
mkdir .ssh — создаем скрытый каталог
cat>>.ssh/authorized_keys — создаем файл внутри скрытого каталога ssh
Подключаемся к удаленной системе на основе публичного ключа:
keiz@ekz:~$ ssh -p 222 -l keiz 192.168.1.35
Linux vkeiz 2.6.35-22-generic #33-Ubuntu SMP Sun Sep 19 20:32:27 UTC 2010 x86_64 GNU/Linux
Ubuntu 10.10
Welcome to Ubuntu!
* Documentation: https://help.ubuntu.com/
Last login: Wed Sep 12 14:54:54 2012 from ekz.local
keiz@vkeiz:~$ ifconfig eth0 | grep -E “inet” (показать сетевой адрес удаленной системы)
inet addr:192.168.1.35 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::a00:27ff:fe60:9ec0/64 Scope:Link
keiz@vkeiz:~$
Смотрим, что прописалось в authorized_keys:
keiz@vkeiz:~$ cat .ssh/authorized_keys
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDbYLC8DDwEQHVjWlD1+NvliawrUXmVh
9EbJdFff3oOF88uJdjhr25AaTUa82175ZRnpFb1IPQA6QJEw8gIZfMk5w1Knnsw5cheD
Y7jzNrgCUCDuXhdkGQvSaibr3seXl7P6uv+YldMwsI8v83L+M/C/uVCrgM5Z1AfWQHd4dASHeaCkQyGy3cS1pKUdatpWxQWNjUP87oqBNOub+Y4p
Xb8QkHitOWSBocIZre+eDtbXpiwfl8MtXYRf8G7WzoWkHfy+tEaEXGEU7yf6p7Fup1
Do+bFvUS6Tk+rFdE9taR8RgMAPbwHagl1V61OrZMYYuPhs15+dqhKQk6Qd/Rm8bqj keiz@ekz
всё работает. На этом всё, удачи!!!