首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SSH签名密钥通过bastion失败

SSH签名密钥通过bastion失败
EN

Server Fault用户
提问于 2019-10-15 23:13:35
回答 1查看 429关注 0票数 2

我正在为一个新系统设置一些服务器,并决定做一些稍微不同的事情。我遇到了一个我似乎无法克服的问题。我想要的配置是有一个堡垒服务器和N个其他服务器,这些服务器只能通过堡垒访问--这是一个非常典型的配置。

与通常的做法不同的是,我希望使用签名的SSH密钥进行身份验证。对于单个服务器来说,这是非常直接的,但在使用堡垒时却会抛出扳手。

现在,我有两个配置相同的服务器。我可以使用签名的SSH密钥直接访问它们。但是,如果我尝试将其中一个用作堡垒/跳转主机,则无法连接到另一个。我的~/.ssh/config看起来是这样的:

代码语言:javascript
复制
Host ssh.uswe2
  HostName ssh.uswe2.example.com
  User ec2-user
  IdentityFile ~/.ssh/ssh-rsa-cert

Host *.uswe2 !ssh.uswe2
  HostName %h.example.com
  User ec2-user
  ProxyCommand ssh -W %h:%p ssh.uswe2.example.com
  IdentityFile ~/.ssh/ssh-rsa-cert

使用此配置,我可以使用ssh ssh.uswe2登录到堡垒,但当我试图用ssh server2.uswe2连接到另一台服务器时,会出现以下错误:

代码语言:javascript
复制
channel 0: open failed: administratively prohibited: open failed
stdio forwarding failed
kex_exchange_identification: Connection closed by remote host

不过,我仍然可以通过公共网络使用ssh server2.uswe2.example.com直接连接到服务器,因此我知道CA和cert正在正确加载。

我的第二个想法是,也许这与如何配置堡垒有关,但是如果我在两个服务器上将我的公钥添加到~/.ssh/authorized_keys中,我可以毫无问题地进行连接。

我在这里完全不知所措,很难排除故障,因为我一直把自己锁在服务器之外。我希望有人能在以下方面帮助我:

  • 这种配置有可能吗?
  • 我现在的假设是我的本地ssh配置有问题。是否有一个特定的标志或选项我错过了?
  • 接下来我应该做些什么来确认这个问题呢?
EN

回答 1

Server Fault用户

发布于 2019-11-01 20:21:39

代码语言:javascript
复制
channel 0: open failed: administratively prohibited: open failed

当服务器SSH网关服务器禁用端口转发时,会发生此问题。在您的示例中,ssh.uswe2.example.com可能将AllowTcpForwarding的配置设置为"no“。你想把它改成“是的”。此外,您可能需要允许GatewayPorts。想了解更多信息,请看文档。https://linux.die.net/man/5/sshd_配置

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

https://serverfault.com/questions/988149

复制
相关文章

相似问题

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