我的内部网络上有几个传统的 SSH 客户端(比如 2000 年代的 Macintosh 之类的),它们与现代 SSH 实现中使用的较新密码和密钥算法完全不兼容。
要使这些客户端正常工作,需要diffie-hellman-group1-sha1
添加KexAlgorithms
、arcfour
和Ciphers
。
我知道从加密的角度来看,这两种方法都是非常、非常不安全的。。不幸的是,有问题的主机也有来自互联网的入站访问权限,而且我确实真的如果可以避免的话,我不想启用这些垃圾密码,但这是让我的客户重新上线的最快方法。
关于如何加强此设置,我有几个问题:
sshd 是否有办法指定某些地址可以使用某些密码?
- 关于这个问题从 2011 年开始:sshd在过去 5 年中是否学会了如何使用块
KexAlgorithms
以及块Ciphers
内部的内容?Match
- 关于这个问题从 2011 年开始:sshd在过去 5 年中是否学会了如何使用块
是否有某种方法可以在需要弱加密的客户端前面放置一个堡垒/跳跃服务器,然后将该连接转发到具有更强加密的主机?
我是否错过了解决此问题的其他明显方法?
答案1
sshd 是否有办法指定某些地址可以使用某些密码?
是的。简单示例位于OpenSSH 的旧版页面。 简而言之:
Host legacy.example.org
KexAlgorithms +diffie-hellman-group1-sha1
Ciphers +arcfour
是否有某种方法可以在需要弱加密的客户端前面放置一个堡垒/跳跃服务器,然后将该连接转发到具有更强加密的主机?
是的。您可以将旧服务器设置为仅接受来自 jumpbox 服务器的连接,例如使用/etc/hosts.allow
( tcp_wrappers
)。例如:
sshd: <IP/hostname of bastion>
然后用户将配置ProxyCommand
跳过jumpbox
,例如
Host legacy.example.com
ProxyCommand ssh -W %h:%p proxy.example.com