通过带有密钥的堡垒SSH到VM

时间:2018-07-31 20:46:13

标签: ssh ssh-config

我正在尝试通过堡垒(jump-box)SSH到EC2,但是有问题。我用.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).

有人可以帮助我吗?

1 个答案:

答案 0 :(得分:1)

根据docs,您可以使用ssh -J选项:

  

-J [user @] host [:port]通过首先建立到pjump主机的ssh连接[(/ 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"
相关问题