往往登陸阿里雲都要去輸那段又臭又長的密碼,痛則思變,故做此文!服務器
阿里雲服務器環境:Ubuntu 16.04.2
本地環境:MacOS 10.12.6
道理很簡單,就是把本機的公鑰放到雲服務器上就能夠了ssh
生成rsa祕鑰,一路回車(已有rsa祕鑰的請跳過此步驟)阿里雲
ssh-keygen -t rsa
獲取本機公鑰code
cat ~/.ssh/id_rsa.pub
複製上一步輸出的公鑰,而後登錄雲服務器,在雲服務器執行以下操做server
cd ~/.ssh/ ls // 查看是否有`authorized_keys`文件
若是沒有authorized_keys
文件,則在~/.ssh/
文件夾下建立該文件ip
touch ~/.ssh/authorized_keys
將複製的公鑰內容添加到authorized_keys
中去, 此時就能在客戶端免密登陸雲服務器了登錄
echo "這裏是複製的公鑰內容,雙引號不能省略" >> ~/.ssh/authorized_keys
回到你的客戶端,原理
ssh root@xxx.xxx.xxx.xxx // 這裏的內容是你的雲服務器的ip地址,@前面是用來登陸的用戶名
可是我遇到了以下問題
Enter passphrase for key 'XXXX'
每次都要求我輸密碼,而後從Stack Overflow解決了,方法是修改~/.ssh/config
文件的以下內容
Host * UseKeychain yes
在~/.ssh/config
中添加以下內容rsa
Host server1 User root HostName 'server1 的ip' Host server2 User root HostName 'server2 的ip'
這樣一來,你就能夠直接ssh server1
或者ssh server2
直接來鏈接到對應的服務器了,不須要記住每一個雲服務器的IP了!雲服務