ssh к ВМ через бастион с ключом

Я пытаюсь подключиться к EC2 по SSH через bastion (jump-box), но у меня возникла проблема. Я попробовал это с .ssh/config, и это сработало. Но я хочу сделать это как команду НЕ с .ssh/config (я знаю, что это правильно)

локальный хост ---> бастион ---> ec2

пользователь ubuntu присутствует на bastion и ec2, ключ (dev-key.pem) присутствует только на локальном хосте.

Я пробовал кучу решений вместе с этим:

local-host$ ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -i /home/ubuntu/automator/dev-key.pem -A -t ubuntu@${bastion} -A -t ssh -o UserKnownHostsFile=/dev/null -o -i /home/ubuntu/automator/dev-key.pem StrictHostKeyChecking=no ubuntu@${ec2} "hostname > /tmp/hostname.txt"

ошибка :

Permission denied (publickey).

Кто-нибудь может помочь мне с этим?


person roy    schedule 31.07.2018    source источник


Ответы (1)


Согласно документам, вы можете использовать параметр ssh -J:

-J [user@]host[:port] Подключиться к целевому хосту, сначала установив ssh-соединение с хостом pjump[(/iam/jump-host), а затем установив оттуда TCP-пересылку к конечному пункту назначения.

Итак, ваша команда будет:

local-host$ ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -i /home/ubuntu/automator/dev-key.pem -J ubuntu@${bastion} ubuntu@${ec2} "hostname > /tmp/hostname.txt"
person moebius    schedule 01.08.2018
comment
Я на OpenSSH_7.2p2 Ubuntu-4ubuntu2.4, OpenSSL 1.0.2g 1 Mar 2016 и не вижу флага -J. Швы для более новой версии. - person roy; 01.08.2018