Windows Terminal实现SSH免密登录服务器

前言

之前一直使用的是 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,点击状态栏的倒三角,找到我们的服务器并点击,这时我们发现,系统已经自动连接到了服务器,而且也不会再提示我们输入密码,这样就实现了免密钥登陆。

最后

通过密钥的方法来连接服务器,对后续登录操作来说,都是比较简单的事情,但是还是和密码一样,保护要自己的密钥文件。

0 0 投票数
文章评分
订阅评论
提醒
guest
0 评论
内联反馈
查看所有评论
0
希望看到您的想法,请您发表评论x
滚动至顶部