ssh登錄Linux通常有兩種方法:用戶名密碼登錄、用戶名密鑰登錄;使用用戶名密碼登錄每次都要輸入密碼,相當(dāng)麻煩,而使用用戶名密鑰登錄則可以避免這個(gè)問題。
創(chuàng)建密鑰對(duì)文件
打開本地終端,執(zhí)行 ssh-keygen 命令創(chuàng)建密鑰對(duì):
ssh-keygen -t rsa -C 'your email@domain.com'
-t 指定密鑰類型,默認(rèn)即 rsa ,可以省略
-C 設(shè)置注釋文字,比如你的郵箱,可以省略
生成過程中會(huì)提示輸入密碼兩次,如果不想在使用公鑰的時(shí)候輸入密碼,可以回車跳過;
密鑰默認(rèn)保存位置在 ~/.ssh 目錄下,打開后會(huì)看到私鑰文件 id_rsa 和公鑰文件 id_rsa.pub;

復(fù)制公鑰至服務(wù)器
使用 scp 命令將本地的公鑰文件 id_rsa.pub 復(fù)制到需要連接的Linux服務(wù)器:
scp ~/.ssh/id_rsa.pub <用戶名>@<ip地址>:/home/id_rsa.pub
如果修改了ssh默認(rèn)連接端口的話,需要加上端口信息:
scp -P <端口號(hào)> ~/.ssh/id_rsa.pub <用戶名>@<ip地址>:/home/id_rsa.pub
把公鑰追加到服務(wù)器ssh認(rèn)證文件中:
cat /home/id_rsa.pub >> ~/.ssh/authorized_keys

這時(shí)候在本地終端中使用用戶名和ip登錄就不需要密碼了:
ssh <用戶名>@<ip>

如果修改了ssh默認(rèn)連接端口的話,需要加上端口信息:
ssh -p <端口號(hào)> <用戶名>@<ip地址>

配置快捷登錄
即使不用輸入密碼,這樣每次登錄還要輸入用戶名ip端口信息還是有點(diǎn)麻煩,我們可以配置ssh快捷登錄更方便的登錄Linux;
在本地 ~/.ssh/config 配置文件中添加ssh服務(wù)器信息,格式:
Host alias #自定義別名
HostName hostname #替換為你的ssh服務(wù)器ip或domain
Port port #ssh服務(wù)器端口,默認(rèn)為22
User user #ssh服務(wù)器用戶名
IdentityFile ~/.ssh/id_rsa #第一個(gè)步驟生成的公鑰文件對(duì)應(yīng)的私鑰文件

這時(shí)候就可以使用配置文件中自定義的別名來登錄了:

參考:
Linux公社 文章 Mac OS X下配置遠(yuǎn)程Linux 服務(wù)器SSH密鑰認(rèn)證自動(dòng)登錄
菜鳥教程 教程 Linux scp命令