一键SSH连接 = SSH密钥登陆 + WindowsTerminal
本文记录如何利用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
}
结束,添加成功。