Надоело вводить пароль по SSH?

В силу специфики работы мне часто приходится устанавливать коннект с несколькими машинами по протоколу ssh. Давно уже замучился вводить пароли. Давно знал, что авторизацию на сервере можно пройти по ключу.

Наконец выдалась пара свободных минут покопать на эту тему документацию. Получилось…..

Посмотрим как это делается:

Для начала нужно сгенерировать пару ключей. Делается это просто.

max@maximus:/var/www/meg.my/public_html$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/max/.ssh/id_rsa):
/home/max/.ssh/id_rsa already exists.
Overwrite (y/n)? y
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/max/.ssh/id_rsa.
Your public key has been saved in /home/max/.ssh/id_rsa.pub.
The key fingerprint is:
55:df:8c:1f:87:78:7d:e7:14:10:24:0b:ce:7f:f4:b1 max@maximus

Парольную фразу вводить не нужно, иначе придется вводить ее при каждом коннекте, тем самым мы просто заменим пароль.

Теперь нужно передать публичный ключ на сервер.

max@maximus:/var/www/meg.my/public_html$ ssh-copy-id -i ~/.ssh/id_rsa.pub max@tes
25
max@tes's password:
Now try logging into the machine, with "ssh 'max@tes'", and check in:

  .ssh/authorized_keys

to make sure we haven't added extra keys that you weren't expecting.

Дело сделано - теперь можно обойтись без паролей. Попробуем?

max@maximus:/var/www/meg.my/public_html$ ssh tes
Linux private 2.6.18-4-486 #1 Wed Feb 21 15:25:16 UTC 2007 i686

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Tue Aug  7 15:33:57 2007 from 192.168.0.20
[15:34:32] max@private: ~ % logout
Connection to tes closed.
max@maximus:/var/www/meg.my/public_html$                            

Удачи!!!

Последние изменения: %2010/%03/%22 %01:%Mar