Понадобилось настроить в системе FreeBSD ssh авторизация по ключу к серверу.
Задача сливать бэкапы с вэб сервера на бэкап.
На вэб сервере генерируем сертификат rsa длиной 2048.
# ssh-keygen -t rsa -b 2048
При создании жмем ЕНТЕР!
Пароль в сертификате нам нужен!
В конце генерации, в домашней директории пользователя под которым генерировали сертификат, создаться два файла.
# ls -lh /root/.ssh/ | grep rsa -rw------- 1 root wheel 1.6K Jan 13 20:38 id_rsa -rw-r--r-- 1 root wheel 391B Jan 13 20:38 id_rsa.pub
Так вот, id_rsa.pub копируем на бэкап сервер в /root/.ssh/authorized_keys
На бэкап сервере добавим права к публичному ключу.
# chmod 600 /root/.ssh/authorized_keys # chmod 700 /root/.ssh
Сделаем настройку sshd на обоих серверах.
# nano /etc/ssh/sshd_config # Используем RSA-ключ. RSAAuthentication yes # Разрешаем авторизоваться по ключу. PubkeyAuthentication yes # Укажем где находится файл с публичным ключом, по которому будим авторизоваться. AuthorizedKeysFile .ssh/authorized_keys .ssh/authorized_keys2
После этого перезагрузим ssh на обоих серверах.
# /etc/rc.d/sshd restart
Если у нас запущен фаервол, то убеждаемся что есть разрешения на соединения для нужного нам сервера.
Вот и вся настройка в FreeBSD ssh авторизация по ключу.
лучше не делать авторизацию root-ом по ssh
а для непривелигированного НОВОГО пользователя выглядеть должно так
ssh-keygen -t rsa -b 2048
touch ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
chmod -R 700 ~/.ssh
убедиться в наличии
# Используем RSA-ключ.
RSAAuthentication yes
# Разрешаем авторизоваться по ключу.
PubkeyAuthentication yes
в файде /etc/ssh/sshd_config
cat /etc/ssh/sshd_config | grep -E «RSAAuthentication|PubkeyAuthentication»
# если нету то добавим
а в целом норм написано, только новичку не поможет если хостер закрыл логин рутом по сети (почти всегда так делают)