1

如果想让某人通过 ssh 访问服务器,我应该创建该对并向他们发送私钥,还是应该让他们创建该对并向我发送公钥?

4

2 回答 2

1

绝对是第二个,他们应该生成私钥并将公钥发送给您,这样您就不会通过网络发送私钥。

于 2012-04-22T05:02:05.980 回答
1

私钥能够生成签名。使用您的私钥创建的签名不能由没有该密钥的任何人伪造,但任何拥有您的公钥的人都可以验证特定签名是真实的。这就是当前实现服务器身份验证协议的方式。服务器发送一段随机数据,然后您的客户端对其进行签名并返回给服务器。服务器使用您的公钥来验证签名。请注意,如果服务器端没有独立的方法知道您的公钥来自,然后您可以使用由受信任的第三方签名的数字证书来验证公钥。大多数系统管理员在手动设置经过身份验证的登录时不会走这么远,但金融系统有时需要个人证书。搜索“PKI”。

如果服务器端生成密钥对,那么您需要一种方法将该密钥对安全地传输到经过身份验证的客户端,然后在服务器端销毁私钥。

我可以使用服务器端的私钥和客户端的公钥来设置客户端身份验证系统。身份验证协议是服务器将随机片段发送给客户端进行加密,客户端将加密片段返回给服务器。客户端必须保护公钥不被泄露,而且这只对一台服务器有好处,而当私钥在客户端时,客户端可以使用相同的公钥对多台服务器进行身份验证。

于 2012-04-22T06:06:13.470 回答