Как заходить по 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
И заходим уже без пароля.