ssh支持多種登錄方式,比較常見的是通過用戶名&密碼和公私鑰對兩種方式。
通過用戶名和密碼登錄的方式比較簡單
spawn ssh -l root 192.168.1.11
等待提示輸入密碼即可。
生成公私鑰對
我們使用ssh-keygen生成公私鑰對,ssh-kengen是安裝git時默認安裝的組件,在windows上可以通過gitbash使用。
ssh-keygen -t rsa
ssh-keygen -t dsa
-t
選項用於標識不同的非對稱加密類型,回車生成相關文件即可,如果沒有特殊需求,默認回車即可。生成的公私鑰對默認保存在~/.ssh/
目錄。
id_dsa id_dsa.pub id_rsa id_rsa.pub
公鑰是以pub結尾的文件
上載公鑰到ssh服務器
如果使用RSA加密方式,就上傳id_rsa.pub
,如果使用DSA則上傳id_dsa.pub
,上傳到一個臨時的目錄/usr/local/src/
。
然後將公鑰文件中的內容導入authorized_keys
。
cat /usr/local/src/id_rsa.pub >> ~/.ssh/authorized_keys
ssh客戶端通過私鑰登錄
linux
通過指定私鑰路徑進行登錄
ssh -i ~/.ssh/id_rsa root 192.168.1.11
通過配置默認的私鑰路徑
vim /etc/ssh/ssh_config
#去掉前面的註釋即可
IdentityFile ~/.ssh/id_rsa
windows
windows環境推薦使用xshll登錄,學生版本可以免費使用,登錄方式可以採用用戶名和密碼,以及Public Key等多種形式。