0

我正在尝试通过 bastion(jump-box) SSH 到 EC2,但遇到了问题。我试过了.ssh/config,它奏效了。但我想把它作为一个命令而不是.ssh/config(我知道它是正确的方式)

本地主机 ---> 堡垒 ---> ec2

ubuntu 用户存在于堡垒和 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).

任何人都可以帮助我吗?

4

1 回答 1

1

根据文档,您可以使用以下ssh -J选项:

-J [user@]host[:port] 通过首先与 pjump 主机[(/iam/jump-host) 建立 ssh 连接,然后从那里建立到最终目的地的 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"
于 2018-08-01T01:45:14.643 回答