假設一切都很順利的話,最簡單的方式以下:服務器
ssh-keygen
命令在本地生成一對密鑰(Public/Private Key)ssh-copy-id username@your-server-ip
命令將本地的公鑰上傳到遠程服務器ssh username@your-server-ip
命令便可免密登陸了若是以前已經在本地生成過密鑰了,那第一步均可以省了。怎麼看有沒有生成過:使用 ls -a ~/.ssh
命令看下是否已經存在 id_rsa 和 id_rsa.pub 文件,有即生成過。ssh
但每每看別人玩的很嗨,到本身實操了就會出現各類問題。仍是那句話:該踩的坑一個都不會少! 若是遇到問題了能夠看看下面列舉出來的常見的 TROUBLESHOOTING。spa
ssh-copy-id
命令時指定了某個公鑰,好比 ssh-copy-id -i ~/.ssh/id_rsa_another.pub username@your-server-ip
,此時注意在使用 ssh 命令遠程鏈接的時候也須要指定這個公鑰,不然默認是會拿 ~/.ssh/id_rsa.pub 去匹配的,因此你的鏈接命令應該是相似這樣:ssh -i ~/.ssh/id_rsa_another.pub username@your-server-ip
。PubkeyAuthentication yes
PermitRootLogin no
則將其改成 yes一張時序圖最能說明問題了 :P3d