使用Windows Terminal远程连接Linux服务器

以前一直使用xshell、putty等客户端在Windows上远程连接Linux服务器,现在统统可以卸载了,因为现在使用Windows Terminal即可流畅实现这些功能。

1.安装Windows Terminal

单击左下角“开始”,选择“Microsoft Store”,搜索“Windows Terminal”,进行安装。

2.安装OpenSSH客户端

“设置”“应用”中点击“可选功能”,查看电脑上是否已安装“OpenSSH客户端”,如果下图界面中没有“OpenSSH客户端”,点击“添加功能”选项进行添加。

安装OpenSSH客户端

3.设置ssh登录配置文件

打开Windows Terminal,可以发现其跟cmd命令窗口、shell都很像,其实在这里就可以把它当成上述二者使用。在这里直接执行ssh命令:

ssh -p 22 [email protected]

即可实现远程访问服务器。其中 -p 22 是指定22号端口,user 是指登录用户名,@后面的是服务器 ip 。
但是这种访问方式需要每次都输入服务器ip和用户名、用户密码等信息,使用体验非常不友好。如何一劳永逸不用输入这些信息就能直接连接远程服务器呢?

首先,单击Windows Terminal窗口上方的下三角,在下拉菜单中选择设置,就会打开Windows Terminal的配置文件。

打开配置文件

打开后的json配置文件中的核心代码如下:

"profiles":
    {
        "defaults":    
        {
            // Put settings here that you want to apply to all profiles.
        },
        "list":
        [
            {
                // Make changes here to the powershell.exe profile.
                "guid": "{61c54bbd-c2c6-5271-96e7-009a87ff44bf}",
                "name": "Windows PowerShell",
                "commandline": "powershell.exe",
                "hidden": false
            },
            {
                // Make changes here to the cmd.exe profile.
                "guid": "{0caa0dad-35be-5f56-a8ff-afceeeaa6101}",
                "name": "命令提示符",
                "commandline": "cmd.exe",
                "hidden": false
            },
            {
                "guid": "{b453ae62-4e3d-5e58-b989-0a998ec441b8}",
                "hidden": false,
                "name": "Azure Cloud Shell",
                "source": "Windows.Terminal.Azure"
            }
        ]
    },

上面的json文件中"list"项有3条用花括号括起来的内容,分别是"Windows PowerShell"“cmd”“Azure Cloud Shell”的配置内容。这3项正是Windows Terminal窗口的下三角下拉菜单中的选项。

下拉菜单

可以看出,我的截图中还有一个“Ubuntu”的企鹅选项,不难猜测,想要在下拉菜单中增加新的选项,只需要并列地添加新选项的配置文档就可以了。下面给出我的配置文件中添加的内容,并做相应的解释。
【注意】:下面的代码块为在配置文件中添加的内容,添加的位置为上面代码块中的中括号内,和其它3个花括号形成并列关系,并注意添加逗号分隔符!!!

            {
                "acrylicOpacity" : 0.5,
                "closeOnExit" : true,
                "commandline" : "ssh -p 22 [email protected]",  
                "cursorColor" : "#FFFFFF",
                "cursorShape" : "bar",
                "fontFace" : "Consolas",
                "fontSize" : 14,
                "guid" : "{20c1b201-1272-4bb0-b008-6eb5fed2cb2f}",
                "historySize" : 9001,
                "name" : "Ubuntu",
                "icon": "C:\\Users\\pxt\\Pictures\\linux.jpg",
                "padding" : "0, 0, 0, 0",
                "snapOnInput" : true,
                "startingDirectory" : "",
                "useAcrylic" : false
             }

其中重点介绍几个选项:

"commandline" : "ssh -p 22 [email protected]"

单击该选项时执行的命令。即把该选项添加到下拉菜单后,点击该选项就相当于执行命令"ssh -p 22 [email protected]"。

"guid" : "{20c1b201-1272-4bb0-b008-6eb5fed2cb2f}"

相当于该profile的id,可自己执行命令:

new-guid

获得新的guid序列号。如果想要将某个选项设置为打开窗口时默认的profile,就在配置文件中的"defaults"项内将"guid"的值设置为相应选项的guid值即可。

"name" : "Ubuntu"

新添加选项的名字,会显示在下拉选项中,比如我的是“Ubuntu”。

"icon": "C:\Users\pxt\Pictures\linux.jpg"

下拉选项中的图标,比如我的是个小企鹅,这个图像就存放在本地"C:\Users\pxt\Pictures\linux.jpg"路径下。
其它都是一些字体、颜色等属性的设置,无关紧要,这里不做解释。

保存配置文件后重新启动Windows Terminal窗口,在下三角下拉菜单中即可看到出现的“Ubuntu”选项。点击该选项,就会自动新建终端并已执行完ssh命令,你只需要输入密码就可以连接远程服务器了。

每次登录都要输入密码也很麻烦,可以使用ssh秘钥实现远程免密登录

实现远程服务器免密登录的方法请移步这篇博客:vscode & windows terminal实现远程服务器免密登录

你可能感兴趣的:(使用Windows Terminal远程连接Linux服务器)