公司里有N台服務器需要經常登錄,每次ssh的時候都要輸入密碼實在太不爽了,今天有空一口氣全部改為公鑰/私鑰認證,登錄再也不用任何密碼了。
實現步驟:
1.在你的自己的機器下面使用ssh-keygen命令來實現創建公鑰
使用 ssh-keygen -t rsa 來創建密鑰,程序會問你存放的目錄,如果不需要修改,直接回車兩次即可
2.將你~/.ssh目錄中的id_rsa.pub這個文件拷貝到你要登錄的服務器的~/.ssh目錄中,然后再運行以下命令來將公鑰導入到~/.ssh/authorized_keys這個文件中
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys,注意是管道符是 >>
另外要注意請務必要將服務器上
~/.ssh權限設置為700
~/.ssh/authorized_keys的權限設置為600
這是linux的安全要求,如果權限不對,自動登錄將不會生效
完畢之后,退出服務器的登錄,再使用ssh登錄,你就會發現服務器不會再向你詢問密碼了.
補充:
有讀者提出拷貝公鑰文件到服務器上這個過程可以用ssh-copy-id命令來完成,下面是命令使用列表
默認用法:
ssh-copy-id user@server
自定義用法:
ssh-copy-id -i 公鑰文件路徑 user@server
ssh-copy-id -p 服務器SSH服務端口 user@server
轉自:http://be-evil.org/linux-ssh-login-without-using-password.html