首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用从bastion(代理)而来的密钥通过bastion(代理)向服务器发送ssh

如何使用从bastion(代理)而来的密钥通过bastion(代理)向服务器发送ssh
EN

Server Fault用户
提问于 2022-04-24 14:52:48
回答 2查看 1.4K关注 0票数 3

所以我基本上是想这么做:

代码语言:javascript
复制
ssh bob2@35.192.152.35 -t ssh bob2@test-vm

如果我只是把它放到终端中,那么上面的操作就很好了,但是我很难通过.ssh配置文件复制它。

下面是配置文件中的内容:

代码语言:javascript
复制
Host bastion
     HostName 35.192.152.35
     User bob2

Host test-vm
     User bob2
     FOrwardAgent yes
     ProxyCommand ssh bastion nc %h %p 2> /dev/null

但是,它会出现一个错误,说“权限被拒绝”,无效的公钥文件?我从这篇文章中得到了以下内容:https://unix.stackexchange.com/questions/124078/how-to-ssh-to-a-server-using-another-server-with-key-from-the-second-server

不管怎么说,它对那家伙有效,但对我却不起作用。我还尝试在sshd_chroot配置中允许代理转发和TCP转发,也允许所有各方(原始、堡垒和服务器)进行代理转发,但这并没有什么区别。

如果强制指定标识路径:

代码语言:javascript
复制
Host bastion
     HostName 35.192.152.35
     User bob2
     IdentityFile /Users/bob/.ssh/id_rsa

Host test-vm
     User bob2
     FOrwardAgent yes
     ProxyCommand ssh bastion nc %h %p 2> /dev/null
     IdentityFile /home/bob2/.ssh/id_ed25519

然后,它产生了相同的错误,除了说它找不到目录“/home/bob2 2/..ssh/id_id 25519”之外

有人有什么想法吗?

EN

回答 2

Server Fault用户

发布于 2022-04-27 10:00:09

您似乎希望您的配置让test在堡垒中查找密钥。所以我建议:

  1. 将密钥文件复制到堡垒中的Bob2‘S .ssh文件夹中。
  2. 在配置中添加带有ssh的ProxyCommand
票数 0
EN

Server Fault用户

发布于 2022-10-21 20:37:37

下面对我有用..。与您的基本相同,但我确实指定了最终目的地的IP地址(可能与您的情况无关),并且我不得不将密钥从堡垒复制到本地主机,因为我的ssh_config正在这里查找密钥文件,而不是在堡垒的中间位置:

代码语言:javascript
复制
==== added to .ssh/config ====
Host mybastion
    HostName 133.35.41.9
    User bastuser
    IdentityFile /Users/bchapman/.ssh/bast_priv.key

Host mytarget
    HostName 109.0.1.38
    ProxyCommand ssh -q -W %h:%p mybastion
    User targuser
    IdentityFile /Users/bchapman/.ssh/targ_priv.key
==============

在此之后,我就可以很好地解决mytarget、scp本地文件mytarget:等问题。

票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/1099344

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档