Mac使用ssh密鑰登錄Linux

ssh登錄Linux通常有兩種方法:用戶名密碼登錄、用戶名密鑰登錄;使用用戶名密碼登錄每次都要輸入密碼,相當麻煩,而使用用戶名密鑰登錄則可以避免這個問題。

創建密鑰對文件

打開本地終端,執行 ssh-keygen 命令創建密鑰對:

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

-t 指定密鑰類型,默認即 rsa ,可以省略
-C 設置注釋文字,比如你的郵箱,可以省略

生成過程中會提示輸入密碼兩次,如果不想在使用公鑰的時候輸入密碼,可以回車跳過;
密鑰默認保存位置在 ~/.ssh 目錄下,打開后會看到私鑰文件 id_rsa 和公鑰文件 id_rsa.pub

復制公鑰至服務器

使用 scp 命令將本地的公鑰文件 id_rsa.pub 復制到需要連接的Linux服務器:

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

如果修改了ssh默認連接端口的話,需要加上端口信息:

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

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

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

這時候在本地終端中使用用戶名和ip登錄就不需要密碼了:

ssh <用戶名>@<ip>

如果修改了ssh默認連接端口的話,需要加上端口信息:

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    #第一個步驟生成的公鑰文件對應的私鑰文件

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


參考:
Linux公社 文章 Mac OS X下配置遠程Linux 服務器SSH密鑰認證自動登錄
菜鳥教程 教程 Linux scp命令

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容