Тема: Без пароля! OpenSSH Public-Key соединение на SSH2
Дополнение, или решение.
Почти мануал.
Есть задача: Установить соединение с локального хоста, на удаленный.
тоесть, есть два хоста. одиин локальный, другой удаленный. Назовем их LOCAL & REMOT
На локальном клиент SFTP & SSH
OpenSSH_4.5p1 FreeBSD-20061110, OpenSSL 0.9.7e-p1 25 Oct 2004
На удаленном запущен сервер SSH2
ssh2: SSH Secure Shell 3.2.9.1 (non-commercial version) on i386-portbld-freebsd7.2
Copyright (c) 1995-2002 SSH Communications Security Corp
SSH is a registered trademark and Secure Shell is a trademark of
1. Создаем ключи на локальном:
%ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/home/localuser/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/localuser/.ssh/id_rsa.
Your public key has been saved in /home/localuser/.ssh/id_rsa.pub.
The key fingerprint is:
ba:73:ev:77:82:31:97:t0:2a:ch:61:ee:89:e5:54:01 localhost@unix-server
The key's randomart image is:
+--[ RSA 2048]----+
| |
| .E |
| o.o |
| +o. . |
| .. ..S. |
|. o.o. .. |
|.o.+ o+.. |
| .o.o oo.. |
| .o. ooo |
+-----------------+
2. Конвертирую ключи версии OpenSSH для понимания сервером SSH2
%ssh-keygen -e -f ~/.ssh/id_rsa.pub > ~/.ssh/id_rsa_ssh2
%cat ~/.ssh/id_rsa_ssh2.pub
копируем содержание файла
3. Копируем ключ на удаленный хост, и проводим комманды далее на удаленном. На удаленном хосте нужно создать нового юзера, к примеру логин user не важно каким путем. Главно чтобы он там был.
%cd /home/user
%mkdir ./ssh2
%ee ./ssh2/my2048.pub
вставляем содержание файла(конечно Вашего )
---- BEGIN SSH2 PUBLIC KEY ----
Comment: "2048-bit RSA, converted from OpenSSH by locauser@unix-server"
AAB3NzaCyc2EAAAABIwAAAQEApLPlEf8LF7bVdarFvX88teZGcjztAqD
3uPPbTqd7gkP23Nrn8FjZTQnqjncjGwjdOBBnbUlYBx+CzDbHcl7TF4Y4/zibfSBfl1RgU
gasdgfasg0aRqtNbjXOAdDKHzP6WxM81/83zk3lT43n5yECvexYRZDFjp+vMo1sS3q
FyoNDS4jGndQaLaerg7Rcda3NbaergaKDYKPssMsilHOZ57K0jXo/oNYXJxu2
ofCqehgr0245kh4o5kgq45fgiqzj2M1qQXJy50aergaergwe5624cT84655P6QjgyQj/
8g0skliLcOmRJhT9lf2=tSh7bt1f41j0394f123dlQ==
---- END SSH2 PUBLIC KEY ----
Далее укажем ключ для работы SSH2,
%ee ~/.ssh2/authorization
Key my2048.pub
4. Проверяем права:
%chmod -R 600 ~/.ssh2
5. Снова идем на локальный хост, и коннектимся на удаленный
ТЕСТ
%ssh -l user 192.168.1.11
Должно работать, и заходить без пароля. Если удаленный хост запрашивает пароль, значит что то Вы сделали не верно.