Xshell是Windows平台上老牌的SSH客户端,很多运维人员刚入行就在用。界面不算花哨,基础功能全都齐全,个人用户还能申请免费授权,上手门槛不高。下载安装流程很简单,官网填写邮箱就能获取下载链接,装好首次启动会提示新建会话,直接点新建就可以开始配置。
新建会话窗口,名称随便填写方便识别,像“测试服务器”或者“生产环境-Web01”这类都行。协议选择SSH,主机填写服务器公网IP,端口默认22不用改动。云服务器的这些信息,一般在云厂商控制台就能查到。填完点确定,这个会话就会出现在左侧列表。双击会话发起连接,首次接入会弹出服务器指纹确认窗口,选择接受并保存,后续连接就不会重复弹出。接着输入用户名密码,连上之后终端界面就加载完成,操作感受和直接在服务器本地操作差别不大。

密码登录虽然省事,但安全层面偏弱。正式环境大多推荐密钥认证。Xshell内置密钥生成工具,打开工具菜单找到用户密钥管理者,点新建,算法选RSA,2048位默认参数足够使用,一路点下一步,密钥可以设置密码,也可以留空。生成完成会得到公钥和私钥,私钥保存在Xshell本地,公钥需要上传到服务器。上传公钥有多种方式,最简单的就是ssh-copy-id命令,也可以手动把公钥内容追加到服务器的~/.ssh/authorized_keys文件。配置完成回到Xshell会话属性,将认证方式切换为Public Key,选中刚才生成的密钥,再次连接就不用输入密码。就算有人拿到服务器密码,没有对应的密钥也无法登录。
多标签是平时高频使用的功能。同一个Xshell窗口可以同时打开多个会话,每个会话单独一个标签页,切换方式和浏览器标签类似。复制粘贴默认选中文字就复制,右键粘贴,习惯之后会比Ctrl+C/V更顺手。服务器日志输出量大,想回看更早内容,直接向上滚动即可,Xshell默认预留不少回滚行数,不够用可以进到会话属性调高数值。字体偏小看着费力,在属性的外观板块,调整字号和配色,改成自己看着舒服的样式。
文件传输方面,Xshell本身没有内置SFTP能力,但配套工具Xftp可以无缝联动。在Xshell工具栏点击Xftp图标,会自动拉起Xftp并连接当前服务器,窗口左侧本地目录,右侧远程目录,拖拽文件完成传输。不想额外安装两个软件,也可以在命令行使用rz、sz,前提是服务器提前装好lrzsz包,不过传输大文件稳定性比不上Xftp。
安全设置有几项可以顺手调整。服务器默认22端口会持续遭到批量扫描,更换端口能拦截大量自动化攻击。在Xshell会话属性修改端口号,服务器侧SSH配置文件也要同步更新。云服务器还要在安全组里限制访问来源,只放行自己常用IP访问22端口,比全IP开放安全很多。Xshell还支持登录脚本与端口转发,端口转发在会话属性隧道选项卡配置,把远程服务器端口映射到本地,用来访问内网服务。新手先了解这些功能,有实际需求再去尝试。
服务器会话积攒多了,会话管理器就能派上用场。新建文件夹,按项目或者环境归类存放不同服务器。导出会话配置操作简单,右键文件夹选择导出,生成.xsh文件,更换电脑时导入即可。如果导出文件保存了密码,一定要妥善保管,不要随便上传网盘或者发到聊天窗口。
网络波动、服务器侧超时,都容易造成远程连接断线,终端卡住。Xshell会话属性里有保持活动选项,勾选之后软件会定时发送心跳包,降低被服务器断开连接的概率。已经断线的情况下,双击会话就能重连,其他打开的标签页不会受到影响。部分连接失败的情况是服务器负载过高,SSH服务响应迟缓,可以在本地用telnet测试端口连通性,区分是网络故障还是服务器本身问题。
Xshell上手没有什么压力。新手掌握新建会话、密钥登录、多标签、搭配Xftp传文件这几项,日常服务器运维基本够用。其余功能在使用过程里慢慢摸索,不用刚上手就吃透全部选项。