首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SSH使用秘密公共(客户端) ssl证书

SSH使用秘密公共(客户端) ssl证书
EN

Server Fault用户
提问于 2012-03-06 05:55:56
回答 2查看 1.8K关注 0票数 0

我所处的情况是,我无法为ssh进行无密码登录,并且ssh服务器不能在除默认端口之外的任何其他端口上运行。所以,我选择了用特技来引导ssh。在我的个人电脑上,我在客户端模式上使用stunnel,并使用它登录到服务器,如:ssh -p 8888 user@localhost。问题是ssl客户端证书是公开的,因此任何人都可以轻松地为我的服务器设置ssl隧道。如果有人查询https://myserver.com,它会显示openssh2.0运行在ssl端口上。因此,它已经成为一种最简单的入侵方式,比在非默认端口上运行ssl服务器要简单得多。因此,我想知道是否可以将ssl客户端证书设置为私有证书,以便不会提供给在我的服务器上执行https查询的任何人。我应该能像ssl私钥一样保持它的机密性。

EN

回答 2

Server Fault用户

回答已采纳

发布于 2012-03-06 08:25:26

因此,要澄清:您希望从办公网络中允许密码,但不允许来自其他任何地方。然而,你需要能够从任何地方连接。

在我的网络上,从外部登录时需要SSH密钥,但是当从内部的另一个主机连接时,可以使用密钥或密码。

以下是它的工作原理:

/etc/ssh/sshd_config

代码语言:javascript
复制
RSAAuthentication yes
PasswordAuthentication no

Match Address 192.168.0.*
    PasswordAuthentication yes

如果您将office子网替换为192.168.0。*,用户将能够使用密码进行连接,但只能从office子网进行连接。但是,您可以使用SSH键从任何地方进行连接。

当ssh客户端连接到服务器时,会向它提供一个可以尝试的身份验证机制列表。通常情况下,列表是“公钥,密码”。在这种情况下,当有人从外部连接时,他们只会收到“公开密钥”,因此他们的客户端甚至不会试图发送密码。如果它们试图使用SSH公钥以外的任何机制进行身份验证,则服务器将立即关闭连接。所以不存在强行使用密码的可能性。

票数 6
EN

Server Fault用户

发布于 2012-03-06 07:32:39

尼克斯诺特森,这是一个真正的问题,好吧,但我完全不明白你认为你想要的东西对你有什么帮助。让我重述这个问题,这样我们就可以看我是否正确地理解了它。

您有一个ssh服务器,它有很多弱用户密码。你希望能够从外部远程登录,但不想让愚蠢的用户这么做,因为这会让所有那些脆弱的用户密码暴露在针对不受保护的sshds的恶意密码猜测中。如果你运行sshd,它就必须运行在端口22上。

到目前为止我还好吗?

您显然在此服务器上有两个NIC,因此有两个地址,因为您指的是“面向局域网的接口”和“WAN端”。如何设置两个sshds,都运行在端口22。其中一个只能绑定到内部NIC地址(ListenAddress 10.3.4.5),否则是不受限制的,供所有无法选择好密码的本地用户使用。第二个sshd使用不同的配置文件,该配置文件仅绑定到外部接口(ListenAddress 2.3.4.5)上的端口22,该配置文件要么不允许基于密码的身份验证(PasswordAuthentication no),要么只允许某个组成员的用户登录(AllowGroups nixnotwin)?

这些都能解决你的问题吗?

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

https://serverfault.com/questions/366721

复制
相关文章

相似问题

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