Windows Terminal(Windows终端)是微软公司发布的面向Windows10的新命令行程序,它是一个更现代化,功能更丰富,更加高效的终端应用程序,适用于命令行用户。它包含最常用的许多功能,包括对选项卡,富文本,全球化,可配置性,主题和样式等的支持。
我们在远程操作 linux 服务器时常常会用到各种 remote ssh 连接工具,譬如SecureCRT、Xshell等,它们功能都足够强大,但随着windows terminal 的推出,这些都可以通过 windows terminal 实现,并且更加美观,支持定制,趣味性极高,让你彻底告别第三方连接工具,本文章为您介绍windows terminal 连接远程 ssh 的具体方法。
1.打开windows terminal 的 setting 选项
2.在profiles列表里增加如下片段
{
"guid": "{c2b7c779-0f4f-4476-bfa5-313b42c9851a}",
"hidden": false,
"name": "CentOS",
"commandline": "ssh root@anydomain.com -p anyport",
"icon": "ms-appdata:///Local/centoslogo-32.png"
}
-
各参数的含义
- guid:唯一标识,可以从https://www.guidgenerator.com/生成一份。
- hidden:是否隐藏。
- name:标题名,显示在窗口的标签名称。
-
commandline:命令行内容,这里通过 windows cmd 的 ssh 连接到远程 linux 服务器。格式如下:
ssh 用户名@主机ip或域名 -p端口号
-
icon:图标文件路径,也可以是网络地址,这里为了方便,将图标文件放入 setting 配置文件(profiles.json)所在的文件夹里,前缀为
ms-appdata:///Local/
即可。
3.设置ssh免密码登录
在以上两步完成之后,您就可以通过 windows terminal 连接远程 ssh 了,但是美中不足的是,每次都需要输入登录密码,十分不便,这样就有违我们彻底告别第三方连接工具的初衷。
因此我们需要免密码登录,实现的方法就是向远端服务器提供本机ssh公钥
-
生成本机ssh公私钥对
windows 用户可以通过 git bash 中的ssh-keygen
命令生成。
-
本地ssh公钥追加到服务器
连接服务器,新建文件 tmp.pub,并复制上步生成的 id_rsa.pub 文件的内容到 tmp.pub,保存。然后,我们需要为用户的 authorized_keys 文件添加该 ssh 公钥,具体步骤如下:cd ~ vi tmp.pub mkdir .ssh && chmod 700 .ssh touch .ssh/authorized_keys && chmod 600 .ssh/authorized_keys cat tmp.pub >> .ssh/authorized_keys rm tmp.pub