ssh免密登陸(使用公鑰私鑰對登陸)

=========兩臺(多臺)機器之間實現ssh免密登陸(實質上是使用公鑰 私鑰對)================
關於公鑰私鑰對
通常ssh免密登陸 採用的ssh的rsa密鑰:
id_rsa     私鑰
id_rsa.pub 公鑰
下述命令產生不一樣類型的密鑰
ssh-keygen -t dsa
ssh-keygen -t rsa
ssh-keygen -t rsa1
 
首先兩臺機器分別爲:
master 
MHA-Manager
 
 ############## master ########################
[root@master ~]# ssh-keygen -t rsa -P ''
#####################################
#-P表示密碼,-P '' 就表示空密碼,也能夠不用-P參數,這樣就要三車回車,用-P就一次回車。
#該命令將在/root/.ssh目錄下面產生一對密鑰id_rsa和id_rsa.pub。
######################################
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
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:
7f:aa:7d:27:12:30:d5:61:1c:34:d2:7d:65:34:20:7c root@master
The key's randomart image is:
+--[ RSA 2048]----+
| o**=.o=|
| .+=E..o|
| . . . |
| o |
| So |
| .. |
| ... |
| ..oo . |
| ..oo o |
+-----------------+

 

[root@master ~]# cd /root/.ssh/
[root@master .ssh]# ll
total 8
#這就是master的公鑰和私鑰對
-rw------- 1 root root 1675 Mar 13 14:22 id_rsa
-rw-r--r-- 1 root root 393 Mar 13 14:22 id_rsa.pub
[root@master .ssh]# more id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD1pf10d8qtoUtDrwfZKYiEcrDAXcmATu9dmHyAwEPSXI+wQgaNI4H4GogTCWymyguIMl9MbsMrNuXNMZgA4
jbySaiuCvcB0a/1IoKzf3hZ9VnF/IxxTja5erJxKk5QOyhBNZJxOFdgqaWzTjlenx/Gm+BK2mbjN3RbD+AUoR06jEV80v8OYTD5j0HzvT0AlJRDcFaNFXDxBg
xQrZsSR482glD9+ukmgU0TSFOAkKbGt+aGhqQVwPjjfiEZ0rKyY908+6cVna720bmNB2WzvQkjThyFHvQ4WXyppedXYOOkjLwsqottK9VGT+6qNN1Sp+Vs68Q
XRI9k79WVFtIeEPCV root@master

 

[root@master .ssh]# cp id_rsa.pub authorized_keys
#把master的公鑰發送給MHA-Manager,注意要更更名字,scp到/root/.ssh目錄夾下
#第一次傳輸時,須要輸入yes
[root@master .ssh]# scp authorized_keys root@118.25.50.236:/root/.ssh/
The authenticity of host '118.25.50.236 (118.25.50.236)' can't be established.
ECDSA key fingerprint is 22:49:b2:5c:7c:8f:73:56:89:29:8a:bd:56:49:74:66.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '118.25.50.236' (ECDSA) to the list of known hosts.
root@118.25.50.236's password:
authorized_keys 100% 393 0.4KB/s 00:00
 
############ MHA-Manager ##########################
#MHA-Manager這邊收到master的公鑰,須要更改權限爲600
[root@MHA_Manager .ssh]# chmod 600 authorized_keys
#而後生成本身的公鑰私鑰對
[root@MHA_Manager .ssh]# ssh-keygen -t rsa -P ''
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
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:
53:c9:ce:99:a3:63:37:ae:2a:a6:a5:69:6c:02:37:9a root@MHA_Manager
The key's randomart image is:
+--[ RSA 2048]----+
| |
| . . |
| + |
| + o |
| S * |
|. o o . |
|.= .. + o |
|E ++o . + . |
| ++o ...... |
+-----------------+
[root@MHA_Manager .ssh]# ll
total 12
#如下就是MHA-Manager的公鑰 私鑰對
-rw------- 1 root root 393 Mar 13 14:25 authorized_keys
-rw------- 1 root root 1679 Mar 13 14:27 id_rsa
-rw-r--r-- 1 root root 398 Mar 13 14:27 id_rsa.pub
[root@MHA_Manager .ssh]# more id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDufx2SVQlykHPTQtenp7nb5jArwc6OjXBIZeYVUR2U7cKfhkW08IJQdotsNOyxgFEv3clIlkFiEOZ1nvLlq
tsRepAr/sy4KGfy+0Ucj3cx6sqvdxQoEIzKc/iUTLxTVJgVZrZQW9g0YyUv5i/cvAFQ9ZjSfQslS/zQvKolMVPo900VEJ1lxesOJ5oaNU3zpXVF4e8tWsePrT
/AxrUxEo0ZuHvf9YfXI8tj0KZsK62MflPLJg4+1ibbRkQtiMJi+i/F+Fk/IY/DKBZ2f7Wy/JCGxIi3Y5rCGbkQQD9XVEHUsmkFIxgiNQ4QFjB5CH7uMl6q47d
lyq24xm+3b9a3DJFf root@MHA_Manager
[root@MHA_Manager .ssh]# vim authorized_keys

#將MHA-Manager的公鑰也放在authorized_keys文件中,注意一個公鑰就是一行,切不可出現換行符html

 
[root@MHA_Manager .ssh]# more authorized_keys
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD1pf10d8qtoUtDrwfZKYiEcrDAXcmATu9dmHyAwEPSXI+wQgaNI4H4GogTCWymyguIMl9MbsMrNuXNMZgA4
jbySaiuCvcB0a/1IoKzf3hZ9VnF/IxxTja5erJxKk5QOyhBNZJxOFdgqaWzTjlenx/Gm+BK2mbjN3RbD+AUoR06jEV80v8OYTD5j0HzvT0AlJRDcFaNFXDxBg
xQrZsSR482glD9+ukmgU0TSFOAkKbGt+aGhqQVwPjjfiEZ0rKyY908+6cVna720bmNB2WzvQkjThyFHvQ4WXyppedXYOOkjLwsqottK9VGT+6qNN1Sp+Vs68Q
XRI9k79WVFtIeEPCV root@master
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDufx2SVQlykHPTQtenp7nb5jArwc6OjXBIZeYVUR2U7cKfhkW08IJQdotsNOyxgFEv3clIlkFiEOZ1nvLlq
tsRepAr/sy4KGfy+0Ucj3cx6sqvdxQoEIzKc/iUTLxTVJgVZrZQW9g0YyUv5i/cvAFQ9ZjSfQslS/zQvKolMVPo900VEJ1lxesOJ5oaNU3zpXVF4e8tWsePrT
/AxrUxEo0ZuHvf9YfXI8tj0KZsK62MflPLJg4+1ibbRkQtiMJi+i/F+Fk/IY/DKBZ2f7Wy/JCGxIi3Y5rCGbkQQD9XVEHUsmkFIxgiNQ4QFjB5CH7uMl6q47d
lyq24xm+3b9a3DJFf root@MHA_Manager

 

將MHA-Manager的authorized_keys這個文件也發送給master
(若是是多臺機器的話,同理將每臺機器的公鑰都統一複製到一個authorized_keys文件中,切記一個公鑰是一行,中間不能出現換行符。而後再將authorized_keys這個統一的公鑰文件,scp給其餘機器)  
############ MHA-Manager ###############
[root@MHA_Manager .ssh]# scp authorized_keys root@111.231.79.212:/root/.ssh/
root@111.231.79.212's password:
authorized_keys 100% 794 0.8KB/s 00:00

############# master ###############mysql

[root@master .ssh]# ll
total 16
-rw------- 1 root root 794 Mar 13 14:37 authorized_keys
-rw------- 1 root root 1675 Mar 13 14:22 id_rsa
-rw-r--r-- 1 root root 393 Mar 13 14:22 id_rsa.pub
-rw-r--r-- 1 root root 175 Mar 13 14:25 known_hosts
[root@master .ssh]# more authorized_keys
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD1pf10d8qtoUtDrwfZKYiEcrDAXcmATu9dmHyAwEPSXI+wQgaNI4H4GogTCWymyguIMl9MbsMrNuXNMZgA4
jbySaiuCvcB0a/1IoKzf3hZ9VnF/IxxTja5erJxKk5QOyhBNZJxOFdgqaWzTjlenx/Gm+BK2mbjN3RbD+AUoR06jEV80v8OYTD5j0HzvT0AlJRDcFaNFXDxBg
xQrZsSR482glD9+ukmgU0TSFOAkKbGt+aGhqQVwPjjfiEZ0rKyY908+6cVna720bmNB2WzvQkjThyFHvQ4WXyppedXYOOkjLwsqottK9VGT+6qNN1Sp+Vs68Q
XRI9k79WVFtIeEPCV root@master
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDufx2SVQlykHPTQtenp7nb5jArwc6OjXBIZeYVUR2U7cKfhkW08IJQdotsNOyxgFEv3clIlkFiEOZ1nvLlq
tsRepAr/sy4KGfy+0Ucj3cx6sqvdxQoEIzKc/iUTLxTVJgVZrZQW9g0YyUv5i/cvAFQ9ZjSfQslS/zQvKolMVPo900VEJ1lxesOJ5oaNU3zpXVF4e8tWsePrT
/AxrUxEo0ZuHvf9YfXI8tj0KZsK62MflPLJg4+1ibbRkQtiMJi+i/F+Fk/IY/DKBZ2f7Wy/JCGxIi3Y5rCGbkQQD9XVEHUsmkFIxgiNQ4QFjB5CH7uMl6q47d
lyq24xm+3b9a3DJFf root@MHA_Manager

 

實現效果以下:
[root@master .ssh]# sshman
Last login: Tue Mar 13 14:35:33 2018 from 111.231.79.212
 
[root@MHA_Manager .ssh]# sshmaster
Last login: Tue Mar 13 14:41:02 2018 from 118.25.50.236

 這裏作了別名的配置(寫在root裏面,只對root有效)linux

[root@master ~]# egrep 'ssh' ~/.bashrc
#for ssh
alias sshman='ssh root@118.25.50.236'
 
[root@MHA_Manager ~]# egrep 'ssh' ~/.bashrc
#for ssh
alias sshmaster='ssh root@111.231.79.212'

 

總結:之前剛接觸公鑰私鑰的時候,老是分不清。因而就記一下:私鑰永遠是本身的,把公鑰分出去,能匹配個人私鑰的,就是小夥伴(擁有公鑰的)。sql

網上關於私鑰公鑰的文章不少,只是在搭建MHA的時候忽然以爲能夠把ssh免密寫成筆記,也是當作給本身回憶一下linux一些知識點。vim

 

貼一篇寫的很好的MHA詳解:
http://www.cnblogs.com/gomysql/p/3675429.html
相關文章
相關標籤/搜索