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