ssh使用密鑰進行認證可以實現免密登錄。 生成私鑰和公鑰 執行以下命令: 進入交互模式後可以不設置密鑰存放路徑和設置密碼,直接按回車即可。此時會在當前用戶的家目錄下的.ssh目錄下生成密鑰文件,即公鑰文件id_rsa.pub和私鑰文件id_rsa。 預設採用的是rsa演算法,也可以指定其它的演算法。 接 ...
ssh使用密鑰進行認證可以實現免密登錄。
生成私鑰和公鑰
執行以下命令:
ssh-keygen
進入交互模式後可以不設置密鑰存放路徑和設置密碼,直接按回車即可。此時會在當前用戶的家目錄下的.ssh目錄下生成密鑰文件,即公鑰文件id_rsa.pub和私鑰文件id_rsa。
預設採用的是rsa演算法,也可以指定其它的演算法。
接下來就是把生成的公鑰交給想要連接的主機,如下:
ssh-copy-id -i /home/suraer/.ssh/id_rsa.pub [email protected]
上述命令把當前密鑰交給192.33.0.10主機的suraerone用戶,如果不指定用戶則預設是當前主機的用戶,即suraer用戶。
上述命令把公鑰放在了192.33.0.10主機的/home/suraerone/.ssh/authorized_keys文件中。當然也可以不用上述命令,手動將公鑰複製到目標地址也可以。
接下來便可以使用ssh進行無密登錄了:
ssh [email protected]
同樣如果不指定用戶則預設是當前主機的用戶。
相關命令
生成密鑰:
ssh-keygen
指定密鑰生成位置和名稱:
ssh-keygen -f /home/suraer/id_rsa
使用指定密鑰連接:
ssh -i /home/suraer/id_rsa [email protected]
生成密鑰對並設置密碼:
ssh-keygen -P '123456' -f /home/suraer/id_rsa
為私鑰添加密碼,取消密碼,修改密碼
ssh-keygen -f /home/suraer/id_rsa -p
生成指定類型的密鑰,ssh2協議支持的密鑰類型有dsa,ecdsa,ed25519,rsa
ssh-keygen -t dsa -P '' -f /home/suraer/id_dsa
生成指定位數的密鑰:
ssh-keygen -t rsa -b 1024 -P '' /home/suraer/id_rsa
根據私鑰生成公鑰:
ssh-keygen -f /home/suraer/id_rsa -y
根據私鑰生成公鑰,重定向到文件:
ssh-keygen -f /home/suraer/id_rsa -y > id_rsa.pub
將公鑰交給指定主機的賬戶:
ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]