ДМ
ssh-keygenна выходе получаешь закрытый ключ который никогда и никому не показываешь и открытый содержимое которого копируешь везде куда хочешь ходить по ssh в
/home/USERNAME/.ssh/authorized_keys и в /root/.ssh/authorized_keys соответственно
2) настраиваешь ssh сервер на всех интересующих тебя нодах
чаще всего это файл /etc/ssh/sshd_config
в нём тебя щас больше всего инересуют две директивы:
PasswordAuthentication no3) настраиваешь свой конфиг клиента
PubkeyAuthentication yes
~/.ssh/config для своего пользователя или /etc/ssh/ssh_config для всех пользователей тачки
там всё просто
Host blablablaон работает по принципу первого совпадения так что Host * и всё что после него должны быть всегда в конце файла
User root
Hostname 192.168.XXX.YYY
/home/USER/SECRETDIR//keys/id_rsa_work
Host *
ForwardAgent yes
IdentityFile /home/username/.ssh/id_rsa
ForwardX11 yes
ForwardX11Trusted yes
Port 22
Protocol 2
ControlMaster auto
ControlPath /run/user/1000/ssh-%r@%h:%p
AddKeysToAgent yes
Compression yes
#StrictHostKeyChecking no
StrictHostKeyChecking accept-new
ForwardAgent нужен чтобы твой ключ был доступен тебе на удалённой тачке для прохода насквозь
ForwardX11 нужно что x over ssh
ControlMaster и ControlPath нужны для того чтобы в случае нескольких терминалов до одной тачки они работали через одну ssh сессию
AddKeysToAgent нужно чтобы твои ключи добавлялись в агент и не мучали тебя спрашивая пароль при каждом подключении
Compression понятно это сжатие
StrictHostKeyChecking accept-new для того чтобы если ты первый раз на тачку заходишь тебе не задавало лишних вопросов
StrictHostKeyChecking no не советую, мне нужно из-за специфики работы