本文記錄如何利用SSH密鑰登錄和WindowsTerminal/FluentTerminal實現一鍵SSH連接
一、在本地生成SSH密鑰對
1.打開終端,輸入ssh-keygen -t rsa執行,根據提示設置密鑰保存路徑(默認為~.ssh\id_rsa)、密鑰密碼(默認為空),建議按默認設置,一直按回車成功生成密鑰文件

2.密鑰文件有兩個,id_rsa對應私鑰,id_ras.pub對應公鑰
二、在遠程主機安裝公鑰
1.在本地上傳公鑰文件
sftp username@ip # 回車輸入密碼
sftp> put 本地公鑰文件 遠程路徑

2.連接到遠程主機,修改密鑰及所在文件夾權限
mkdir -m 700 ~/.ssh #如此文件夾已存在,也要確保權限為700
cd 密鑰id_rsa.pub所在目錄
chmod 600 ./id_rsa.pub
mv ./id_rsa.pub ~/.ssh/authorized_keys
三、在遠程主機打開密鑰登陸功能
1.編輯sshd配置文件
vi /etc/ssh/sshd_config
2.編輯以下內容
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
PermitRootLogin yes
PasswordAuthentication no #此行會關閉密碼登錄功能,請確認密鑰登陸功能設置好后再添加
以上內容在配置文件里都有對應行,但被注釋了起來,可通過刪除注釋符號設置,也可直接追加到文件末尾
3.重啟sshd
systemctl restart sshd
四、設置WindowsTerminal SSH快捷鍵
在WindowsTerminal配置文件里增加如下內容,添加位置如圖

{
"guid": "{b0151614-8f7b-446c-bb65-5390e361c10b}",
"icon": "此行為icon路徑,可選",
"name": "Centos7",
"commandline": "ssh.exe -i ~/.ssh/id_rsa root@192.168.124.128",
"hidden": false
}

結束,添加成功。
