miniHowTo: FreeBSD ssh без пароля

Продолжаем цикл мини-статей на тему FreeBSD. Вход на сервер по ssh без пароля, означает, что при использовании конcоли, нам все равно придется вводить пароль, но если мы будем подключаться по ssh, мы будем использовать ключ RSA на целевой машине, который будет соответствовать нашему. Это избавит нас от бесконечного ввода пароля при удаленном логине, а также в случае выполнения большинства scp команд.
 
В нашем случае, мы будем рассматривать вход на удаленную машину от пользователя root. То бишь будем использовать аккаунт рута на клиенте и логиниться как root на сервере. 
 
Используем две машины с FreesBSD. Целевой сервер, к которому мы будем подключаться, имеет ip 172.16.7.21, а клиент, с которого мы будем подключаться - 172.16.7.20. Для того, чтобы зайти на сервер через ssh без ввода пароля нам необходимо сгенерировать RSA-ключ на клиенте.
 
Для генерации ключа SSH-2 RSA выполняем команду
ssh-keygen -t rsa

Ниже представлен скриншот выполнения команды. Для успешного выполнения необходимо будет ввести кодовую фразу (passphrase), без нее вход без ввода пароля не возможен. 


Мы получили два ключа, т.к. я залогинен от рута, то это выглядит так -
#rsa keys for root
#private key location keep this secret!
/root/.ssh/id_rsa
#public key location
/root/.ssh/id_rsa.pub
Теперь, когда мы сгенерировали ключи на нашем клиенте, мы должны передать публичный ключ на сервер. Мы можем сделать это используя команду SCP, в нашем случае передаем ключ на сервер с адресом 172.16.7.21.
scp /root/.ssh/id_rsa.pub root@172.16.7.21:/root/
Ключ id_rsa.pub будет располагаться в домашней папке рута на сервере, далее  добавляем ключ в .ssh/authorized_keys
Для этого проверяем существование папки /root/.ssh/, если она отсутствует, то добавляем руками - mkdir /root/.ssh/, после чего запускаем команду добавления публичного ключа на сервер.
cat /root/id_rsa.pub >> /root/.ssh/authorized_keys
В принципе на этом и все, мы можем зайти на сервер через SSH без запроса пароля (естественно только от рута, т.к. других ключей мы не создавали). Команда для входа - 
ssh root@172.16.7.21
 
 

Также интересно:

Пользуюсь давно практичным ноутбуком MacBook Air Apple 2015 года.
0
Голосов пока нет