相关疑难解决方法(0)

从 A 到 B 到 C 的 SSH,使用 A 上的私钥

这是我的场景:

  • 主机 C 无法从 A 访问。
  • 主机 B 可从 A 访问。
  • 主机 C 可从 B 访问。
  • B 和 C 都有~/.ssh/id_rsa.pub(来自 A)authorized_keys
  • B 没有私钥 ( ~/.ssh/id_rsa),因为它存在安全风险(密钥是个人的)。
  • 由于 B 没有私钥,因此无法从它登录到 C

如何使用主机 A 中的密钥登录主机 C?这可能吗?我怕不是。

(与此问题类似但不同)

编辑

我需要的是一种在不接触 B 中的文件系统的情况下,即时(stdin 或类似)向 B 中的 ssh 跃点提供私钥的方法。这可能吗?

linux firewall ssh bash proxy

7
推荐指数
2
解决办法
4647
查看次数

SSH 配置 ProxyCommand 要求提供公钥

我正在尝试通过网关连接到 EC2 实例。

如果我连接到网关

local> ssh gateway
Run Code Online (Sandbox Code Playgroud)

然后我可以在没有密码的情况下连接到 EC2

gateway> ssh ec2  # works
Run Code Online (Sandbox Code Playgroud)

但是,尝试通过代理连接似乎需要身份文件。

Host gateway
    HostName <gateway>

Host ec2
    HostName ec2-<ec2>.compute.amazonaws.com
    ProxyCommand ssh gateway -W %h:%p


local> ssh ec2
Permission denied (publickey).
Run Code Online (Sandbox Code Playgroud)

我认为 ProxyCommand 基本上是将我登录到网关,然后登录到最终目的地。如果是这样,当网关设置为不需要公钥时,为什么它会要求我提供公钥?如何以与 ssh 进入网关然后 ssh 进入 ec2 相同的方式连接到 ec2 实例?

编辑:rsync 正常工作(不要求提供密钥文件)

rsync -pthrvz  --rsync-path=/usr/bin/rsync --rsh='ssh gateway ssh' . ec2:/path
Run Code Online (Sandbox Code Playgroud)

ssh -v 输出 gateway> ssh ec2

gateway> ssh -v ec2
OpenSSH_5.3p1, OpenSSL 1.0.1e-fips 11 Feb 2013
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Applying options for …
Run Code Online (Sandbox Code Playgroud)

ssh proxy ssh-tunnel

4
推荐指数
1
解决办法
3691
查看次数

标签 统计

proxy ×2

ssh ×2

bash ×1

firewall ×1

linux ×1

ssh-tunnel ×1