Chupurnov Valeriy
Chupurnov Valeriy
Front End Engineer

Как заходить по SSH только по SSH ключу

Вы создали виртуальную машину на хостинге. Он присылает вам в письме пароль и логин, что-то вроде:

login: root
password: smth

Обычно пароль короткий, и не очень надежный. Да и сам способ захода по ssh на сервере при помощи пароля оставляет желать лучшего. Нужен какой-то менеджер паролей, либо вы будете обречены постоянно искать это письмо.

Более разумный способ - заход по ssh ключу. На сервере хранится публичный ключ, у вас на компьютере приватный.

Процесс создания пары ключей писать не буду. Будем считать, что у вас в папка /.ssh уже есть два файла `/.ssh/id_rsa.pubи~/.ssh/id_rsa`

Вам нужен публичный ~/.ssh/id_rsa.pub. Пока откройте его в отдельном терминале

cat ~/.ssh/id_rsa.pub

Далее заходим на свой сервер по паролю. Заходим в папку ~/.ssh. Если папки нет, ничего страшного, создаем:

mkdir ~/.ssh/

И создаем публичный ключ:

vi ~/.ssh/id_rsa.pub

И копируем туда наш ключ. Далее создаем файл ~/.ssh/authorized_keys

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

Теперь вы можете заходить по ssh, но все еще и по паролю. Тут лучше выйти и зайти, чтобы удостоверится, что пароль у вас больше не запрашивается. Чтобы отключить заход по паролю, идем в файл /etc/ssh/sshd_config

vi /etc/ssh/sshd_config

И выставляем там опцию:

PasswordAuthentication no

и перезагружаем службу ssh

sudo systemctl restart ssh

Выходим из ssh подключения

exit

И заходим уже без пароля.