環境:
ssh server: 192.168.100.29 server.example.com
ssh client: 192.168.100.30 client.example.com
通過root用戶建立秘鑰認證實現SHELL腳本管理,分發,部署
首先client端創建秘鑰對,并將公鑰分發給需要登錄的SSH服務端
注:公鑰相當于鎖,私鑰相當于鑰匙,我們這里相當于在客戶端創建一對鑰匙和鎖,想要做到SSH免密碼登錄,就相當于我們將鎖分發到服務端并裝鎖,然后客戶端就可以利用鑰匙開鎖。
一.建立秘鑰認證
1.在客戶端創建秘鑰對:(ssh client)
代碼如下:# su - root
# ssh-keygen -t dsa
一路回車即可
代碼如下:
Generating public/private dsa key pair.
Enter file in which to save the key (/root/.ssh/id_dsa):
Created directory '/root/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_dsa.
Your public key has been saved in /root/.ssh/id_dsa.pub.
The key fingerprint is:
e9:5e:4a:7f:79:64:c5:ae:f2:06:a7:26:e4:41:5c:0e root@zabbix.example.com
The key's randomart image is:
+--[ DSA 1024]----+
| |
| E . |
| . + . |
| .o . o|
| S. o |
| . o . + .|
| oo.. B . |
| o +o * + |
| o .+ =. |
+-----------------+
2.查看生成的秘鑰對:(ssh client)
代碼如下:
# ls -lda .ssh
-----------------
drwx------ 2 root root 4096 6月 6 23:03 .ssh
-----------------
# cd .ssh
# ls -la
------------------
總用量 16
drwx------ 2 root root 4096 6月 6 23:03 .
dr-xr-x---. 26 root root 4096 6月 6 23:03 ..
-rw------- 1 root root 668 6月 6 23:03 id_dsa
-rw-r--r-- 1 root root 613 6月 6 23:03 id_dsa.pub
------------------
秘鑰生成完畢
3.將公鑰(鎖)分發到SSH服務端:(ssh client)
代碼如下:
# ssh-copy-id -i .ssh/id_dsa.pub 192.168.100.29
注:若非root用戶,以及自定義SSH端口,則格式為:
代碼如下:# ssh-copy-id -i .ssh/id_rsa.pub "-p 22 user@server"
輸入yes,然后密碼后回車:
代碼如下:
The authenticity of host '192.168.100.30 (192.168.100.30)' can't be established.
RSA key fingerprint is fc:9b:2e:38:3b:04:18:67:16:8f:dd:94:a8:bd:08:03.
新聞熱點
疑難解答