ssh公钥认证自动登录服务器

基于公钥认证登录服务器可以很好的隐藏服务器的登录密码,特别是多人登录的开发服务器就非常有用了。
需要登录的服务器,如果是第一次使用公钥登录,则需要生成本机的公钥和私钥(其实没有必要,主要是在家目录下生成.ssh的隐藏目录,还有其目录下的公钥和私钥以备后用。) 一般运行 ssh-keygen -b 2048 -t rsa 生成rsa类型的长度为2048的ssh公私钥,然后一路回车下去。如果不放心的可以根据提示过程输入密钥的口令,这样每次使用时需要验证口令。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
$ ssh-keygen -b 2048 -t rsa 
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Created directory '/root/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
43:08:d5:6c:8c:d1:b4:f8:5a:c1:31:43:f2:4c:a9:be root@AY140718160534398661Z
The key's randomart image is:
+--\[ RSA 2048\]----+
| ..+XB. |
| ..OB= |
| ooB |
| .o . |
| . S |
| .o . |
| .. |
| E |
| |
+-------------------+

从服务器A登录到服务器B。
将服务器A生成的公钥id_rsa.pub内的字符串拷贝到服务器B.ssh/authorized_keys文件中。authorized_keys每行由三部分构成,分别由空格隔开。第一部分指明公钥的类型一般是 ssh-rsa ,第二部分是公钥字符串,第三部分是对该公钥的自定义标识,可以不要。

从Xshell工具生成私钥登录服务器。
关键是生成Xshell的公钥,然后将公钥粘贴到服务器的authorized_keys文件中,然后客户端登录时选择对应的私钥文件就可以登录了。生成公钥:
ssh01
ssh02
ssh03
ssh04
ssh05
ssh06

----------------本文结束 感谢阅读----------------