我平时工作都是使用windows或者macos,然后远程连接Linux服务器使用命令行。之前用过很多种SSH工具,包括putty,xshell,termius,tabby,mobaxterm,secureCRT。回过头来发现,系统自带的工具就能实现这些功能。
系统终端
由于windows自带的cmd或者powershell比较难看,我们还是需要安装一下windows最新的terminal工具。
而现在新发布的windows terminal非常的好用。首先可以从windows store下载该软件,也可以从微软的github页面进行下载。
如果熟悉windows命令行,使用命令行最方便。ctrl + x,然后选择windows PowerShell(管理员)
如果熟悉命令操作,也可以在dos中一条命令进行下载。
winget install --id=Microsoft.WindowsTerminal -e
安装完成之后该软件名在中文系统环境下为“终端”。在开始菜单中找到就可以直接运行。
配置SSH
首先,我们配置SSH自动登录。使用ssh-keygen命令生成密钥登录。
将公钥id_ed25519中的内容复制粘贴到要登录服务器authorized_keys文件中,该文件在~/.ssh/目录下,如果没有就自己创建一个。windows系统默认没有ssh-copy-id,如果有这条命令,就可以直接将文件传到服务器端,不需要做任何修改。不过我们可以使用下面的代码进行替换。
type $env:USERPROFILE\.ssh\id_rsa.pub | ssh {IP-ADDRESS-OR-FQDN} "cat >> .ssh/authorized_keys"
其中{IP-ADDRESS-OR-FQDN}替换成服务器地址。效果与ssh-copy-id一样。
type C:\Users\wangtong\.ssh\id_ed25519.pub | ssh -p 10088 wangtong .tongyuangene.com "cat >> .ssh/authorized_keys"
接下来我们要在本地.ssh目录下,添加一个config文件,将要使用服务器的IP地址,端口号,账号信息写入config文件中。默认没有编辑器,使用notepad.exe记事本打开。然后输入账号信息。ServerAliveInterval 40也非常关键,有了这条命令,远程登录就可以不掉线。
有了这些配置之后,我们就可以直接使用命令来登录服务器了。可以直接使用ssh和sftp命令直接访问服务器。
由于已经配置了自动登录,不需要输入密码,可以直接访问。还有一种方式是可以在powershell中设置alias别名的方法,直接输入服务器名字就可以登录。
另外一种比较好用的方法是我们可以直接在终端中配置服务器信息。
打开设置,选择打开JSON文件,然后找到图中的list选项,模仿图中的案例写一个新的配置。
{
"commandline": "ssh -p 40004 -o ServerAliveInterval=60 root@n2.tongyuangene.com",
"guid": "{856aa625-3125-4f0b-816b-fbf24655038b}",
"hidden": false,
"icon": "ms-appx:///ProfileIcons/{0caa0dad-35be-5f56-a8ff-afceeeaa6101}.png",
"name": "N2-server",
}
这其中最重要的就是commandline和guid,guid有很多网站可以在线生成。图标用前面相同的就可以,如果有额外要求,可以从网上找一些icon图标。配置完成之后这些内容就会在终端中显示出来,后面直接双击就可以直接登录服务器。
终端配置
windows终端配置选项极其丰富,可以使用鼠标的方式,也可以创建一个json文件进行配置。
我这里选择默认启动方式为PowerShell,可以对整体进行设置,也可以对其中一个外观进行配置,例如这里单独配置PowerShell,可以设置字体,字号,连光标形状都可以进行自己配置,还支持透明度。
常见操作
其实dos也有非常强大的功能,只是命令与类Unix有些不同。只需掌握一些常用的即可。
命令名 | 功能 |
cd | 切换目录 |
dir | 列出文件内容 |
cls | 清空屏幕 |
type | 查看文件内容 |
echo | 显示内容 |
more | 打开文件 |
copy | 拷贝文件 |
move | 移动文件 |
ren | 重命名文件 |
del | 删除文件 |
md | 创建文件夹 |
rd | 删除文件夹 |
ping | 网络测试 |
打开程序
在环境变量中的软件,可以直接输入软件名即可打开。如果不在环境变量里,需要给全路径。
命令 | 打开软件 |
calc | 计算器 |
mspaint | 绘图板 |
notepad | 记事本 |
code | vscode |
taskmgr | 任务管理器 |
explorer | 打开资源管理器 |
运行ipython
我现在使用终端来运行ipython,因为这样启动速度非常快。首先安装Anaconda3,在安装时选择加入环境变量,然后直接在cmd中敲ipython就运行了,反应速度非常快。