【问题标题】:ssh to VM through bastion with key通过带有密钥的堡垒 ssh 到 VM
【发布时间】:2018-08-01 09:45:14
【问题描述】:

我正在尝试通过 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).

有人可以帮我吗?

【问题讨论】:

    标签: ssh ssh-config


    【解决方案1】:

    根据docs,您可以使用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"
    

    【讨论】:

    • 我在OpenSSH_7.2p2 Ubuntu-4ubuntu2.4, OpenSSL 1.0.2g 1 Mar 2016,看不到-J 标志。接缝它的新版本。
    猜你喜欢
    • 1970-01-01
    • 2016-10-31
    • 1970-01-01
    • 2018-12-19
    • 2019-09-10
    • 1970-01-01
    • 2021-11-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多