您的位置:首页 > 其它

怎样用一台本地主机ssh免密码登陆多台远程服务器

2016-11-13 10:13 447 查看
ssh登录远程服务器一般有密码验证和免输入密码的密钥验证两种方式。

都知道使用密钥登陆的话是需要生成一对密钥,然后将公钥放在服务器上.ssh/authorized_keys文件中,如果有多人登陆的话,将多人的id_rsa.pub文件中公钥内容按行全部放入该文件中就行了。本地主机登陆的时候会首先读取ssh客户端配置内容,然后找到私钥id_rsa文件,进行配对,过程如下:

debug1: Authenticating to xx.xx.xx.xx:22 as 'username'
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: algorithm: curve25519-sha256@libssh.org
debug1: kex: host key algorithm: ecdsa-sha2-nistp256
debug1: kex: server->client cipher: chacha20-poly1305@openssh.com MAC: <implicit> compression: none
debug1: kex: client->server cipher: chacha20-poly1305@openssh.com MAC: <implicit> compression: none
debug1: expecting SSH2_MSG_KEX_ECDH_REPLY
debug1: Server host key: ecdsa-sha2-nistp256 SHA256:3b9yRpz12sKEd46UZUnlr5thICYoj/fIkpjkaBk0UKI
debug1: Host 'xx.xx.xx.xx' is known and matches the ECDSA host key.
debug1: Found key in /home/gikor/.ssh/known_hosts:5
debug1: rekey after 134217728 blocks
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: rekey after 134217728 blocks
debug1: SSH2_MSG_NEWKEYS received
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey,password
debug1: Next authentication method: publickey
debug1: Offering RSA public key: /home/gikor/.ssh/id_rsa
debug1: Server accepts key: pkalg ssh-rsa blen 279
debug1: Authentication succeeded (publickey).

之后就成功登陆了远程服务器。

但是一台本地主机需要维护多台远程服务器的话,如果生成多个公钥密钥对的话本地文件肯定重名,怎么办呢!?其实公钥之所谓公钥,就是公开的密钥,只需要在本地生成一对公钥私钥然后将公钥分别放在多台远程服务器上就行了!

自己理解的密钥加密过程:

首先加入有A(客户)、B(用户)两个油漆匠吧!然后A匠通过调和各种油漆的比例生产出来了两桶油漆S(私钥)和G(公钥),调和出来的两桶油漆比例都非常复杂还原不了原始比例,并且这两桶油漆混合的话会产生奇妙的化学反应(配对解密),比如说变成了一同无色的液体(可将传输的数据提取出来)。另外G桶油漆气味小,不爆炸,可以远程运输,别人看到了也无妨(当然油漆不是这个样子了,只是将公钥特性做个比喻)。然后将S桶油漆藏到了自己家的地下室,总之别人是别想看到了!

A和B商量说,“B匠啊,你把G桶油漆带回你家吧!你要是有了新配方就把新配方油漆(要传输的数据)和G混合混合(加密后的数据)邮寄给我就行啦”,然后B就兴高采烈的带着G油漆回家了。

B匠回家后将其新配方与G油漆混合得到E之后,就邮寄给了A匠,A匠拿到之后从地下室取来S油漆与E混合一下就把新配方油漆给提取了出来!

后来A匠又觉着B匠一个人为自己服务不够啊,效率太慢!又叫来了C匠、D匠、E匠,如法炮制。

从此A匠过上了幸福的生活!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: