|
Иногда возникает необходимость беспарольного доступа по ssh (через ключи). Чтобы это реализовать нужно:
-
Делаем:
nano /etc/ssh/sshd_config
ИщемProtocol 2,1
и меняем наProtocol 2
-
Чтобы пускать только определённых пользователей, в тот же /etc/ssh/sshd_config дописываем:
AllowUsers user1 user2@host
Здесь user1 будет разрешён с любого хоста, а user2 только с хоста host. Все остальные будут
получать приглашение о пароле, но, естественно, залогиниться не смогут.
-
Теперь на машине-источнике генерируем ключик rsa:
admhome@note-admhome:~/.ssh$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/admhome/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/admhome/.ssh/id_rsa.
Your public key has been saved in /home/admhome/.ssh/id_rsa.pub.
The key fingerprint is:
26:9b:85:da:b3:4a:51:2f:d0:cb:e5:3d:68:61:b3:11 admhome@note-admhome
The key's randomart image is:
+--[ RSA 2048]----+
| E |
| . . |
| . o * |
| + B B |
| . * S o |
| + O . |
| o = |
| . o |
| ... |
+-----------------+
Загрузим ключ на удалённую машину (я использовал роутер и нестандартный порт)
admhome@note-admhome:~/.ssh$ scp -P 8022 id_rsa.pub root@192.168.1.1:~/
DD-WRT v24-sp2 mega (c) 2010 NewMedia-NET GmbH
Release: 08/07/10 (SVN revision: 14896)
root@192.168.1.1's password:
id_rsa.pub 100% 402 0.4KB/s 00:00
admhome@note-admhome:~/.ssh$
-
Заходим на удалённую машину с помощью ssh
admhome@note-admhome:~/.ssh$ ssh root@192.168.1.1 -p 8022
DD-WRT v24-sp2 mega (c) 2010 NewMedia-NET GmbH
Release: 08/07/10 (SVN revision: 14896)
root@192.168.1.1's password:
root@gw-admhome:~#
и выполняем ряд нехитрых действий:
root@gw-admhome:~# cd ~
root@gw-admhome:~# mkdir .ssh
root@gw-admhome:~# cat id_rsa.pub >> .ssh/authorized_keys
root@gw-admhome:~# chmod go-rwXx .ssh/authorized_keys
root@gw-admhome:~# rm id_rsa.pub
или же воспользуемся командой:
admhome@note-admhome:~$ ssh-copy-id
Usage: /usr/bin/ssh-copy-id [-i [identity_file]] [user@]machine
обратите внимание, что команда используется на машине, чей ключ необходимо добавить на удалённый сервер!
Done :)
|