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