前言
之前一直使用的是 MobaXterm 连接服务器,在服务器日趋稳定的情况下,很少会涉及到很多文件系统的改动,因此最近就简单使用 Windows Terminal 连接服务器做一些简单的命令就行。
但是在使用 Windows Terminal 的过程中,每次登录的时候都会要求输入密码,这次就把这个密码给去掉,实现免密登录。
步骤
在 Windows Terminal 中,连接服务器是通过命令 ssh name@ip
来连接。
配置登录文件
我们先打开 设置,点击底部的 打开JSON文件,找到 list
列表,在其中添加如下内容:
"profiles":
{
"defaults": {},
"list":
[
//省略默认配置,添加如下配置
{
"commandline": "ssh root@192.168.181.128",
"hidden": false,
"name": "SSH Ubuntu"
},
//省略,如果上述配置在最后一项,注意去掉最后的逗号
]
},
上述操作也可以直接点击底部的 +添加新配置文件 来完成。
配置登录密钥
1.生成密钥文件
首先,在cmd下输入 ssh-keygen
,系统会自动在 C:\Users\用户名\.ssh
下生成这两个文件,如下图:
之后将 id_rsa.pub
上传至服务器,因为在服务器端的 .ssh
目录下也存在一个 id_rsa.pub
文件,(如果Linux下没有这个文件,则输入 ssh-keygen
,会在 /root/.ssh
文件夹下生成密钥)所以为了避免混淆,我们复制一个出来,并改名为 id_rsa_windows.pub
。
2.发送密钥
然后通过各种SFTP软件,将 id_rsa_windows.pub
文件发送到服务器的 /root/.ssh
文件夹中。
3.追加密钥文件
将传输过来的公钥追加入密钥文件: cat id_rsa_windows.pub >> authorized_keys
若是没有
authorized_keys
这个文件,请自行创建
验证
打开Windows Terminal,点击状态栏的倒三角,找到我们的服务器并点击,这时我们发现,系统已经自动连接到了服务器,而且也不会再提示我们输入密码,这样就实现了免密钥登陆。
最后
通过密钥的方法来连接服务器,对后续登录操作来说,都是比较简单的事情,但是还是和密码一样,保护要自己的密钥文件。