说明:今天来了一个小伙伴,因为业务需要,要登录一台测试系统,问我密码是多少,我说我配置的密钥登录的,估计他不太熟悉,所以我简单的演示了一下配置过程给他看,顺便也记录了下整个配置过程。
1、关于密钥登录系统的原理
关于配置原理,可以参考https://help.aliyun.com/knowledge_detail/41493.html,现在阿里云的官方文档写的很详细,我也不想粘贴复制了。
2、服务端的配置过程
a)生成密钥对(这里我只是做个测试,所以一路回车就好了)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
[root@LVS-DR02 ~]
# ssh-keygen -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:
ce:6a:a7:fc:e6:d4:f4:21:98:5c:3b:f1:03:01:9d:7a root@LVS-DR02.saltstack.com
The key's randomart image is:
+--[ RSA 2048]----+
| .o.. |
| o. |
| .+ |
| ..+E= |
| S.= + |
| o o + o |
| + . . |
| ..oo |
| .+*o |
+-----------------+
|
b)查看密钥的位置(默认存在家目录的.ssh下)*:
1
2
3
4
5
|
[root@LVS-DR02 ~]
# cd /root/.ssh/
[root@LVS-DR02 .
ssh
]
# ll
total 8
-rw------- 1 root root 1679 Jun 26 20:13 id_rsa
-rw-r--r-- 1 root root 409 Jun 26 20:13 id_rsa.pub
|
c)设置Linux主机:
1
2
|
把id_rsa.pub 复制为authorized_keys,放在需要登陆的linux主机的~/.
ssh
目录下
[root@LVS-DR02 .
ssh
]
# cat id_rsa.pub >>authorized_keys
|
d)设置ssh服务参数
SSH 服务默认开启了证书认证支持。编辑 SSH 服务配置文件(默认为/etc/ssh/sshd_config),确保如下参数没有显示的置为 no。否则,将参数值修改为yes,或者删除或注释(在最开头添加 # 号)整行配置。
1
2
3
4
|
[root@LVS-DR02 .
ssh
]
# vim /etc/ssh/sshd_config
将下面两行的注释取消
#RSAAuthentication yes
#PubkeyAuthentication yes
|
e)下载私钥到远程计算机(公钥相当于锁,私钥相当于钥匙)
1
|
[root@LVS-DR02 .
ssh
]
# sz -y id_rsa
|
3、客户端的配置
a)如下图所示,进入xshell的登录界面
b)选择基于Public Key的登录验证方式
c)导入key
d)选择导入
e)这里我们将之前从服务端sz -y导入的id_rsa改名为LVS-RS02,主要也是为了对应不同的服务
f)这样我们就可以很方便的登录到系统中了
补充方法:
1)在windows的xshell下生成密钥
2)选择默认的RSA密钥类型,保持密钥长度为2048
3)生成密钥对的过程
4)默认的密钥名称为id_rsa_2048
5)为了避免每次登陆输入密码,这里我保持密码为空
6)保存复制的公钥
7)将公钥拷贝到服务端的.ssh目录下
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
[root@LVS-DR01 .
ssh
]
# cat id_rsa_2048.pub
ssh
-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAzoNEC5+T6dl+p5nD78
/SPcqdFPecSNVHF7R6FhY0cxCHDSWUTORU4isGIRJOwmr3o
+7kgpY8o4ACw8FgYY2xt3jjFo8t1xlcnKZ4s0VxyqRrVFe4xZa2dGxyaQ6q13Bwno+yE93+nfXK2W1+aBDuouGgaFX2av9lGWJqfzXoHh+yKATF367ErnUBIQbM0N
/rPBzggxtyKCHekOu1605Fie/xcQTZJbvm2dkCwMJg1gx2B4qgBKIbLi
+Q==[root@LVS-DR01 .s
total 16
-rw------- 1 root root 1675 Jun 29 09:46 id_rsa
-rw-r--r-- 1 root root 380 Jun 29 16:14 id_rsa_2048.pub
-rw-r--r-- 1 root root 409 Jun 29 09:46 id_rsa.pub
-rw-r--r-- 1 root root 976 Jun 29 09:48 known_hosts
[root@LVS-DR01 .
ssh
]
# ls -la
total 20
drwx------ 2 root root 80 Jun 29 16:15 .
dr-xr-x---. 18 root root 4096 Jun 29 15:50 ..
-rw------- 1 root root 1675 Jun 29 09:46 id_rsa
-rw-r--r-- 1 root root 380 Jun 29 16:14 id_rsa_2048.pub
-rw-r--r-- 1 root root 409 Jun 29 09:46 id_rsa.pub
-rw-r--r-- 1 root root 976 Jun 29 09:48 known_hosts
将公钥内容保存到authorized_keys文件中,设置文件权限为600
[root@LVS-DR01 .
ssh
]
# cat id_rsa_2048.pub>>authorized_keys
[root@LVS-DR01 .
ssh
]
# chmod 600 authorized_keys
|
8)登陆验证
9)使用用户的密钥
10)选择身份验证方式
11)登陆成功
1
2
3
4
|
Connecting to 10.10.10.101:2222...
Connection established.
To escape to
local
shell, press
'Ctrl+Alt+]'
.
Last login: Thu Jun 29 16:45:21 2017 from 10.10.10.1
|
到此,所有配置均已完成
12)配置思路
a、生成密钥对:
b、将公钥传输至远程服务器对应的家目录的指定文件
c、进行测试