Mac使用ssh公鑰登陸Linux

ssh登陸Linux一般有兩種方法:用戶名密碼登陸、用戶名公鑰登陸;使用用戶名密碼登陸每次都要輸入密碼,至關麻煩,而使用用戶名公鑰登陸則能夠避免這個問題。服務器

建立公鑰私鑰文件
打開本地終端,執行 ssh-keygen 命令建立密鑰對:dom

ssh-keygen -t rsa -C  'your email@domain.com'

-t 指定密鑰類型,默認即 rsa ,能夠省略
-C 設置註釋文字,好比你的郵箱,能夠省略

生成過程當中會提示輸入密碼兩次,若是不想在使用公鑰的時候輸入密碼,能夠回車跳過;
密鑰默認保存位置在 ~/.ssh 目錄下,打開後會看到私鑰文件 id_rsa 和公鑰文件 id_rsa.pub;
圖片描述
複製公鑰至服務器
使用 scp 命令將本地的公鑰文件 id_rsa.pub 複製到須要鏈接的Linux服務器:ssh

scp ~/.ssh/id_rsa.pub <用戶名>@<ip地址>:/home/id_rsa.pub

若是修改了ssh默認鏈接端口的話,須要加上端口信息:spa

scp -P <端口號> ~/.ssh/id_rsa.pub <用戶名>@<ip地址>:/home/id_rsa.pub

把公鑰追加到服務器ssh認證文件中:3d

cat /home/id_rsa.pub >> ~/.ssh/authorized_keys

圖片描述
這時候在本地終端中使用用戶名和ip登陸就不須要密碼了:code

ssh <用戶名>@<ip>

圖片描述
若是修改了ssh默認鏈接端口的話,須要加上端口信息:blog

ssh -p <端口號> <用戶名>@<ip地址>

圖片描述
配置快捷登陸
即便不用輸入密碼,這樣每次登陸還要輸入用戶名ip端口信息仍是有點麻煩,咱們能夠配置ssh快捷登陸更方便的登陸Linux;
在本地 ~/.ssh/config 配置文件中添加ssh服務器信息,格式:圖片

Host            alias            #自定義別名
HostName        hostname         #替換爲你的ssh服務器ip或domain
Port            port             #ssh服務器端口,默認爲22
User            user             #ssh服務器用戶名
IdentityFile    ~/.ssh/id_rsa    #第一個步驟生成的公鑰文件對應的私鑰文件

圖片描述
這時候就能夠使用配置文件中自定義的別名來登陸了:
圖片描述ip

相關文章
相關標籤/搜索