SSH экспорт ключа на другой хост для входа
Материал из support.qbpro.ru
ПОДКЛЮЧЕНИЕ ПО КЛЮЧУ
Для того, чтобы подключаться по ssh через ключ, необходимо сначала сгенерировать на своем компьютере файл ключа ssh с помощью ssh-keygen. На первый вопрос о том, в какой файл сгенерировать ключ нажать enter, на второй можно ввести парольную фразу с подтверждением, но тогда ее придется вводить всякий раз когда будет запрашиваться доступ к серверу, поэтому ее также оставляем пустой.
root@debian9:~# ssh-keygen -t rsa Generating public/private rsa key pair. Enter file in which to save the key (/root/.ssh/id_rsa): Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /root/.ssh/id_rsa. Your public key has been saved in /root/.ssh/id_rsa.pub. The key fingerprint is: SHA256:AJZ2E5a+V+dNUvMbGdAwaj8xLiCJ9EkV7TaeSA5pr4I root@debian9 The key's randomart image is: +---[RSA 2048]----+ | ooo+.oo ++ | | .+oB o .. +o | | . +.*...o + oo| | .=..++= +o.| | ..S.++oB o| | . .+ oo o. | | . .. | | E . . | | . | +----[SHA256]-----+
Обменяться открытыми ключами с управляемым сервером с помощью команды ssh-copy-id <логин>@<имя или ip сервера>.
После этого при попытке соединиться с данным сервером автоматически прочитается ключ доступа и произойдет вход на целевой сервер без дополнительных запросов.
ssh-copy-id -i $HOME/.ssh/id_rsa.pub user@192.168.10.211 /usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/root/.ssh/id_rsa.pub" /usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed /usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys user@192.168.10.211's password: Number of key(s) added: 1 Now try logging into the machine, with: "ssh 'user@192.168.10.211'" and check to make sure that only the key(s) you wanted were added. root@debian9:~# ssh user@192.168.10.211 Last login: Thu Jul 26 15:49:46 2018 from 185.11.35.28
РАЗНЫЕ КЛЮЧИ ПОДКЛЮЧЕНИЕ ПО SHH
- Правим файл:
mcedit .ssh/config
... Host myshortname realname.example.com HostName realname.example.com IdentityFile ~/.ssh/realname_rsa # private key for realname User remoteusername Host myother realname2.example.org HostName realname2.example.org IdentityFile ~/.ssh/realname2_rsa # different private key for realname2 User remoteusername ...
- Пример подключения по разным ключам:
ssh myshortname
или
ssh myother
ОШИБКИ & РЕШЕНИЕ
- sign_and_send_pubkey: signing failed for rsa from agent: agent refused operation
На рабочем РС с которого идет подключение:
chmod 700 ~/.ssh chmod 600 ~/.ssh/* ssh-copy-id user@ip (подключаемый хост) ssh-agent -s ssh-add