使用ssh實現免密登錄
使用ssh可以實現免密遠程登錄設備,提高設備的安全可靠性
實現:
設備A免密遠程登錄設備B
需要:
設備A中需要安裝ssh-client,設備B中需要安裝ssh-server,並且設備B啓動該項服務。關於ssh,可以安裝openssh,簡單快捷方便。
1. 創建ssh登錄所需的密鑰和公鑰文件
首先進入到用戶目錄下,無論Win/Linux都可以在用戶目錄在找到文件夾 .ssh ,如果沒有的話則需要創建。
在該文件夾下創建密鑰和公鑰文件。
ssh-keygen -t rsa -f testfile
在.ssh文件夾中會生成兩個文件
testfile -----密鑰文件,用戶自己保留
testfile.pub ------公鑰文件,需要發送到服務端
2.將公鑰發送到服務端
將公鑰發送到服務端有兩種方式,如果由ssh-copy-id工具則可以使用:
ssh-copy-id -i testfile.pub -p 22 user@xxx.xxx.xxx.xxx
如果沒有ssh-copy-id工具,通常在win下沒有:
#將文件傳輸到遠程服務端
scp testfile.pub user@xxx.xxx.xxx.xxx:~/.ssh/
#登錄到遠程服務器
ssh user@xxx.xxx.xxx.xxx
#進入遠程服務器中的.ssh文件夾
cd .ssh
#將公鑰文件中的內容手動拷貝到驗證文件中
cat testfile.pub >> authorized_keys
3.驗證遠程登錄
ssh -i testfile user@xxx.xxx.xxx.xxx
如果操作無誤的話,這裏就不需要輸入密碼也可登錄服務器。如果設備A中存在多個密鑰登錄,最好使用‘-i’選項,指定密鑰文件,也可配置對應的ssh config文件
4.ssh的調試信息
ssh -vvv user@xxx.xxx.xxx.xxx
如果連接不上,可以依據此命令打印的信息看到查找問題