Авторизацию по ключу в linux (без пароля)
Допустим есть локальный компьютер и удаленная VPS server.ru. Локальный пользователь local_user, на VPS — remote_user. Хотим подключаться без пароля вводя команду
ssh remote_user@server.ru
На локальном компьютере выполняем
ssh-keygen -f /home/local_user/.ssh/id_rsa
Копируем ключ из файла /home/local_user/.ssh/id_rsa.pub в файл на VPS /home/remote_user/.ssh/authorized_keys. Если хотим иметь доступ к VPS с нескольких компьютеров — добавляем в этот файл с новой строки новый публичный ключ.
На сервере выставляем правильные права на файл и каталог:
chmod 700 /home/remote_user/.ssh chmod 600 /home/remote_user/.ssh/authorized_keys
Проверяем владельца каталога и файла (должен быть remote_user), если кто-то другой, выполняем:
chown remote_user:remote_user /home/remote_user/.ssh chown remote_user:remote_user /home/remote_user/.ssh/authorized_keys
Правим конфиг ssh сервера на VPS /etc/ssh/sshd_config
RSAAuthentication yes PubkeyAuthentication yes AuthorizedKeysFile %h/.ssh/authorized_keys
Перезагружаем sshd
service ssh restart
Все готово.
Возвращаемся на клиент и пробуем подключится
ssh remote_user@server.ru
Должно войти без пароля. Если спросил пароль — проверйте права, пути, имена файлов.