以前一直使用xshell、putty等客户端在Windows上远程连接Linux服务器,现在统统可以卸载了,因为现在使用Windows Terminal即可流畅实现这些功能。
1.安装Windows Terminal
单击左下角“开始”,选择“Microsoft Store”,搜索“Windows Terminal”,进行安装。
2.安装OpenSSH客户端
在“设置”→“应用”中点击“可选功能”,查看电脑上是否已安装“OpenSSH客户端”,如果下图界面中没有“OpenSSH客户端”,点击“添加功能”选项进行添加。
3.设置ssh登录配置文件
打开Windows Terminal,可以发现其跟cmd命令窗口、shell都很像,其实在这里就可以把它当成上述二者使用。在这里直接执行ssh命令:
ssh -p 22 user@xxx.xxx.xxx.xxx
即可实现远程访问服务器。其中 -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 axxx@192.168.50.xxx",
"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 axxx@192.168.50.xxx"
单击该选项时执行的命令。即把该选项添加到下拉菜单后,点击该选项就相当于执行命令"ssh -p 22 a415@192.168.50.xxx"。
"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实现远程服务器免密登录