ssh - клиент для одноименного протокола
Подключение как user1 к removehost
ssh user1@removehost
Ключи
- -p <номер порта> : с указанием порта
Выполнить команды на удаленном компьютеры
ssh user1@removehost "ls /home/"
Подключение ssh без пароля (авторизация по ключю)
Создание ключа
ssh-keygen -t rsa
Везде нажимать enter, если указать пароль для ключа, то помимо проверки ключа будет еще затребован и пароль для этого ключа.
Создается 2 файла:
- ~/.ssh/id_rsa
- ~/.ssh/id_rsa.pub : это публичный ключ, который ставится на удаленный хост.
При подключении ssh клиент попытается авторизоваться по ключю в id_rsa и если на сервере есть запись соответствующего ему публичного ключа то авторизация будет произведена.
В домашней папки пользователя на удаленном хосте должен присутствовать файл разрешённый ключей:
~/.ssh/authorized_keys2 # Могут разделять для протокола SSH2.
или
~/.ssh/authorized_keys
в котором перечислены публичные ключи от удаленных пользователей, которые могут быть авторизованы по ключу, вот туда нужно добавить строчку из id_rsa.pub
Название файла авторизованных ключей определяется в конфигурации сервиса sshd:
/etc/ssh/sshd_config
... AuthorizedKeysFile .ssh/authorized_keys #Как вариант #AuthorizedKeysFile %h/.ssh/authorized_keys ...
Для автоматического копирование ключа авторизации на удаленный хост можно выполнить:
ssh-copy-id user@server.com
или с принудительным указанием ключа:
ssh-copy-id -i ~/.ssh/id_rsa.pub user@server.com
с указанием порта
ssh-copy-id '-p 1234 user@server.com'
Обсуждение