Думаю это давно обязательная практика для первичной настройки ssh демона. Но не смотря на память - копипастинг все равно быстрей.
Файл настроек
sudo vim /etc/ssh/sshd_config
Поиском в vim - комбирация /поисковая_фраза
Переключение на следующую найденую комбирацюи n
, предыдущую N
Отключение аутентификации по паролю на сервере
Нужный параметр:
PasswordAuthentication yes
- Находим строчку
PasswordAuthentication
- Расскоментировать, если
#
- Прописываем
no
Меняем стандартный порт
Не думаю, что это как то спасает от снифферов, но часто требуют. Так что. Нужный параметр:
Port 22
- Находим строчку
Port
- Прописываем потр по которому хотим подключаться например
1234
- теперь для подключения по
ssh
в строку подключения сделует добавить ключ-p 1234
.
Копируем наши ключи на сервер
ssh-copy-id username@remote_host
Хардкор вариант если ssh-copy-id
на сервере нет.
cat ~/.ssh/id_rsa.pub | ssh username@remote_host "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"
Ну или совсем треш
Скопировать у себя на хосте открытый ключ:
cat ~/.ssh/id_rsa.pub
На OS X, Мак осях используем pbcopy
; pbpaste
pbcopy < .ssh/id_rsa.pub
Ну а на сервере вставляешь прямо в файл authorized_keys
.
создаем директорию, есди ее еще нет:
mkdir -p ~/.ssh
Добавляем наш открытый ключ в список авторизованных:
echo public_key_string >> ~/.ssh/authorized_keys
Перезапуск сервиса
На Ubuntu / Debian:
sudo service ssh restart
CentOS/Fedora/Manjaro этот демон носит имя sshd
:
sudo service sshd restart
Предупреждение!
Иногда при попытке зайти на сервер по ssh может вылететь красивое предупреждение начинающееся с:
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Это сообщение означает одну из некоторых причин:
- Сервер был переустановлен
- Изменился IP-адрес сервера
- Сервер сменил SSH-ключи
- MITM-атака (маловероятно, но возможно)
Решается это удалением старого ключа из списка известных хостов. Команда простая:
ssh-keygen -R имя_сервера
или
ssh-keygen -R IP_адрес_сервера
После удаления старой записи просто подключитесь снова - новый ключ будет добавлен автоматически.