ARTICLE DETAIL

资讯详情

深耕编程入门与网站建设的一线实战洞察。

XShell免费版保姆级教程:下载安装、SSH连接配置与避坑指南

XShell免费版保姆级教程:下载安装、SSH连接配置与避坑指南 你说你在 Windows 上摸到一台 Linux 服务器时最常用的开场动作是什么不是开浏览器看文档而是拿起 SSH 客户端敲上十几条命令把该看的日志看了、该改的配置改了。XShell 就是这类工具里被提起最多的那个轻量、稳定、免费版就够用。后台私信里十个人里有八个都在问同三件事——去哪下载、怎么配置、连上之后怎么不踩坑。这篇就把 XShell 免费版的安装配置和使用从头到尾拆一遍每一步该点什么、为什么要这么点、踩过的坑在哪全给你写清楚。1. XShell 是什么搞清楚它在解决什么问题再动手装1.1 远程登录原理用三句话讲清 SSHSSH 全称 Secure Shell翻译过来是“安全外壳”它做的一件事就是让你坐在本地电脑前通过网络登录到另一台服务器上执行命令。关键在一个“Secure”上传统 Telnet 时代用户名和密码在网络上几乎是明文传输的抓包就能看光而 SSH 会把你的键盘输入、服务器回显、认证信息全部加密真正做到了“远程操作像坐在机房前面一样”。XShell 就是在 Windows 上替你完成 SSH 协议通信的客户端程序。你可以把它理解为“电视机遥控器”你在这头按按键那头服务器执行操作信号通过加密隧道传过去。它不提供图形桌面也不给你“看到”服务器上的界面它就是把你变成一个能敲命令的人。1.2 XShell 免费版适合谁以及和其他 SSH 工具的差异免费版适合这几类人刚入行或还在学校学运维的后端、第一次买了云服务器想部署网站的新手、日常需要在多台 Linux 主机之间来回切换的工程师。NetSarang 官方的免费许可面向家庭和教育用途个人学习和测试基本功能全开不用找破解、不用填序列号这是它流行起来的主要原因。市面上同类工具不少我的建议是“看使用习惯选主用工具”不一定要盲从工具上手难度多标签会话保存文件传输最适合谁XShell低支持支持配合 Xftp大量日常运维、频繁切换多服务器PuTTY低不支持仅保存会话配置需配合 pscp临时连一次、极简场景Windows Terminal OpenSSH中支持有限scp 命令喜欢原生终端、不想装额外软件MobaXterm中支持支持内置 SFTP需要一个工具解决远程文件联网的人我平时就是在 XShell 和 Windows Terminal 之间切换。Windows Terminal 胜在原生和轻但一旦需要维护多台生产服务器、给每个环境起名字、分组管理、保存连接配置XShell 的会话管理器优势就出来了这也是很多人最后回到 XShell 的原因。1.3 新手最容易误解的三个点第一XShell 不是“服务器图形化管理工具”它连上后看到的是命令行界面操作 MySQL、Nginx、Docker 全靠命令。第二它不仅能连 Linux也支持连路由器、交换机、NAS、Windows 上开启的 OpenSSH 服务只要对方支持 SSH 协议。第三它不会“加速”你的服务器网络单纯的远程控制工具别指望它解决延迟和带宽问题。2. 免费版下载和安装保姆级步骤2.1 官网领许可只要邮箱就能拿到免费版别去第三方软件站下载所谓“破解版”“免安装版”风险高还容易带捆绑插件。正确的免费版获取方式很简单打开 NetSarang 官网进入 XShell 页面选择“Home/Education”许可类型在表单里填上姓名和常用邮箱。提交后系统会给你发一封带下载链接的邮件点击链接就能下载。如果你用 Microsoft Store搜索 XShell 也能直接安装。但应用商店版本通常不是第一时间更新有些功能策略和官网版略有差异我的建议是优先用官网安装包覆盖范围更广路径可控。2.2 安装过程中的关键节点拿到安装包后双击运行其余步骤基本都是“Next”到底。这里有几个节点需要留意安装类型选“标准”即可自定义安装适合想改安装目录或者不要某些组件的用户。组件列表里如果出现不认识的插件、浏览器工具栏之类去掉勾选。官网原包一般很干净但如果经历过第三方下载站这一步就是防火墙。建议勾选“创建桌面快捷方式”后续启动方便。走到“选择开始菜单文件夹”时保持默认安装完成后先重启一下 XShell 再配置避免首次启动时有进程残留。安装完不要急着关打开 XShell首次启动会弹“授权许可”相关界面。如果你申请了家庭/学校免费版此时会要求填写注册邮箱和 Name。填完成功授权后就不再弹出过期提示。2.3 安装失败时怎么排查后台总有人问“XShell 安装失败怎么办”。这个报错其实分多种情况按出现频率我整理了排序失败现象最常见原因处理方式双击安装包没反应下载文件损坏重新去邮件里复制链接用浏览器重下提示需要管理员权限用户权限不足右键安装包选择“以管理员身份运行”安装到一半提示杀毒软件拦截安全软件误报暂时退出杀毒软件装完再加信任安装成功后启动闪退旧版本残留配置冲突先卸载旧版重启机器再装新版提示“另一个程序正在安装”Windows Installer 锁重启电脑清理安装进程有个小技巧如果官网下载很慢可以把下载链接复制到下载工具里下载但下载完一定校验一下文件体积几十 MB 的安装包如果只有几 MB大概率是下载不完整。3. 新建会话与连接服务器从密码登录到密钥登录3.1 第一步发起一个 SSH 会话打开 XShell左上角最显眼的按钮就是“新建”。点击后进入会话属性窗口第一项是“连接”基本设置名称给这台服务器起个容易识别的名字比如主站-生产、数据库-测试比 IP 好记一百倍。主机填服务器 IP 地址或域名。端口号默认 22。如果你的服务器改了 SSH 端口这里就填对应端口比如 22xx。协议保持 SSH别随手切成 Telnet不加密容易泄露密码。填完主机和端口切到“用户身份验证”标签先填用户名和密码。用户名一般是root或者你创建的普通用户密码就是该用户的密码。这就能发起第一次连接了。第一次连接时XShell 会弹出 SSH 安全警告提示“该主机的指纹密钥不在本地缓存中”。这是正常现象第一次见面的主机系统会主动“自报家门”你核对一下 IP 正确后选择“接受并保存”以后就不会再弹了。3.2 连接不上的开场排查网络、端口、服务连不上服务器是问得最多的问题。先别急着改配置按下面顺序过一遍网络通不通。在本地 Windows 的 CMD 或 PowerShell 里执行ping 服务器IP如果 ping 不通先解决链路问题。端口通不通。执行Test-NetConnection 服务器IP -Port 22如果返回 False检查服务器 SSH 服务是否启动、防火墙是否放行了 22 端口。SSH 服务是否存在。在服务器本机执行systemctl status sshdCentOS/RHEL 系或systemctl status sshUbuntu 系看到 running 才正常。云服务器要看“安全组”。云控制台里入方向规则必须放行 22 端口很多新人买了腾讯云、阿里云系统防火墙关了还连不上就是卡在安全组上。看完这条链路大部分“Connection refused”和“Connection timed out”都能解决refused 代表端口能通但服务没起来timed out 代表数据包根本没到达服务器。3.3 更安全的登录方式SSH 密钥对密码登录虽然简单但每天被暴力扫描尝迷茫试是常事。密钥登录的原理是生成一对钥匙公钥放到服务器上私钥留在本地。连接时服务器用公钥验证私钥验证通过就放行全程不需要输入密码。用 XShell 生成密钥的路径顶部菜单“工具” → “新建用户密钥生成向导”。选择 RSA 算法位数建议 2048 位以上如果你用的系统支持也可以选 Ed25519安全性高且生成速度快。向导会生成一对公钥和私钥你可以把公钥保存成文件也可以复制粘贴到服务器上。部署公钥到服务器最直接的方式是登录服务器后执行下面一段mkdir -p ~/.ssh chmod 700 ~/.ssh echo 你生成的公钥内容 ~/.ssh/authorized_keys chmod 600 ~/.ssh/authorized_keys然后回到 XShell在会话属性里把“用户身份验证”的验证方法改成“Public Key”浏览选择之前生成的私钥文件。连接时不再需要密码只要私钥文件在本地就能直接登录。如果你是云服务器厂商给的密钥对比如.pem文件XShell 支持直接导入顶部菜单“工具” → “导入 OpenSSH 密钥”选中 pem 文件导入后会生成一对新建会话可用的身份密钥。这一步很多人不知道能省很多折腾时间。3.4 保存与查看密码安全底线别踩XShell 允许在会话属性里保存密码省去每次输入。但我要提醒一句如果你在多台机器之间同步了配置文件或者电脑容易被别人碰到保存密码就是一个安全风险。更靠谱的做法是设置 XShell 的主密码在“工具 → 选项 → 安全”里启用主密码会加密本地保存的密码和密钥信息之后查看已存密码时也会要求输入主密码。热词里总有人搜“xshell 7 密码查看器”其实就是这个场景你之前保存了密码现在想看一下具体是多少。打开“工具 → 密码管理器”在“已保存的密码”里选择会话主密码验证通过后就能看到明文。注意如果你当初没设置主密码密码查看功能会提醒你设置这也是 XShell 在逼你提高安全性别嫌麻烦。3.5 连 VMware 虚拟机和云服务器的补充要点如果你是要用 XShell 连接 VMware 里的 Linux 虚拟机注意三点虚拟机网络模式用 NAT 或桥接。NAT 模式下虚拟机可以访问宿主机宿主机也能通过 VMnet 网卡访问虚拟机桥接模式下虚拟机更像局域网里一台独立机器。虚拟机里执行hostname -I或ip addr查看 IP在 Windows 里先 ping 这个 IP通了再用 XShell 连接。虚拟机需要安装 SSH 服务。Ubuntu 上执行sudo apt install openssh-server安装后检查下22端口是否监听。如果连不上虚拟机优先看 VMware 的虚拟网络编辑器和虚拟机防火墙新装的 Ubuntu 和 CentOS 防火墙默认策略不同建议只放行所需端口不要图省事直接iptables -F尤其当你生产服务器上还有生产流量时。4. 终端体验优化中文乱码、配色、日志、快捷命令4.1 先把中文显示弄正常字体和编码XShell 连上服务器后发现中文变成方块、问号、乱码几乎每个人都会碰到。这里要查两件事编码和字体。远程服务器输出的中文字符一般是 UTF-8 编码。XShell 顶部菜单“查看View” → “编码Encoding”里要选“Unicode (UTF-8)”。如果你连接的服务器是老系统、内部数据库导出的 SQL 文件用的是 GBK/GB2312那就把编码切成“中文 Simplify (GBK)”。判断依据很简单乱码时切换编码试试总有一款能让中文恢复正常。另一个导致乱码的隐蔽原因是字体。默认字体如果没有中文字形中文就会变成空心方块。解决在“工具 → 选项 → 常规/外观”里把字体改成“微软雅黑”“新宋体”等常见中文字体并开启“使用字体平滑”。经验是优先选“Consolas”以上位或“Microsoft YaHei Mono”——不过 XShell 的字体选择其实只需要保证中英文字体都支持像“微软雅黑”“JetBrains Mono”“Sarasa Term SC”这类都可以。最后给新手一个排查思路如果切换编码和字体都无效可能是服务器端 locale 没设置好。在终端输入locale看到输出里LANG类似en_US.UTF-8或zh_CN.UTF-8都算正常如果输出一行 bare 的LANGC可以临时用export LANGzh_CN.UTF-8测试。4.2 配色与日志让长时间盯屏不难受默认的黑底白字看久了确实容易疲劳。XShell 在“工具 → 选项 → 外观”里提供了多种配色方案我自己的选择是深色背景、绿色文字也就是常说的“黑客风”但如果你长时间盯日志绿字也有视觉压力后来我改成灰白色文字加深色背景眼睛放松很多。日志记录是我非常推荐开启的功能。“工具 → 选项 → 日志”里勾选“启动日志记录”指定一个日志目录XShell 会把每个会话的屏幕输出保存成文件。线上事故复盘时这段记录的参考价值不亚于服务器日志。注意控制日志增长生产服务器上如果持续 tail 日志本地日志文件可能很快膨胀建议按日期轮转。4.3 高频操作用快捷命令别一遍遍手动输入XShell 底部有“快捷命令”窗口。你可以把一组高频命令丢进去比如cd /data/logs tail -f app.logkill -3 PIDgit status git log --oneline -10df -h free -m选中命令后双击一下命令就会发送到当前会话执行。如果要执行多条命令用“快捷命令 → 新建”把它们写成一组XShell 会按顺序发送。这块配置我非常推荐抽时间做省下来的时间都是实打实赚的。4.4 多会话同时操作写栏与“发送到所有会话”当你有五台测试服务器需要同时部署同一个包时一个个敲命令能累到怀疑人生。XShell 在“查看 → 撰写栏”里提供了一个神奇的入口在撰写栏输入命令然后选择“发送到所有会话”回车后这条命令会同步发送到所有打开的会话窗口。常用于多节点同步重启服务、批量改配置文件后统一 reload。多标签本身也是 XShell 的效率核心每个标签一个会话标签栏上右键可以关闭、复制会话、重命名标签。我把生产环境、测试环境、开发环境分组命名打开 XShell 后不用想哪台机器是什么标题栏一目了然。4.5 配合 Xftp 传文件XShell 官网还有一款姊妹工具 Xftp同样面向家庭/学校免费。在 XShell 顶部工具栏点击“新建文件传输”按钮或者直接用快捷键就会唤起 Xftp 连接到同一台服务器。Windows 和服务器之间传文件就像操作本地文件管理器一样拖拽即可。没有 Xftp 也可以使用 XShell 自带的 SFTP 会话但操作不如拖拽直观。碰上需要传压缩包、导出数据库文件、上传 SSL 证书这类场景Xftp 是很好的补充安装时同样选择免费许可名字和邮箱填好即可。5. XShell 的进阶用法登录脚本、隧道转发、实用命令5.1 登录脚本连上后自动进入工作状态每次登录都要手动cd到项目目录、设置环境变量烦了没XShell 在“会话属性 → 登录脚本”里提供了自动化方案勾选“连接后执行脚本”。在脚本命令里写入要自动执行的命令比如cd /opt/myappexport JAVA_HOME/usr/local/jdktail -n 20 logs/run.log这样每次连接会话XShell 会自动发送这些命令你可以等着看日志出现。需要谨慎的是不要在生产会话里默认执行rm -rf xxx这类危险命令。自动化程度越高误触风险越大脚本里的每一条命令都要经得起复核。5.2 SSH 本地端口转发用跳板机访问内网服务一个很重要但常被忽略的 XShell 功能是 SSH 端口转发。场景很经典线上数据库在安全的内网网段本地电脑不能直接访问但你有能连接到跳板机的 SSH 权限。这时候可以在 XShell 会话属性里找到“连接 → SSH → 隧道”添加一条本地转发规则源主机localhost监听端口33060目标主机10.0.0.5内网数据库 IP目标端口3306设置完成后先让 XShell 成功连接跳板机然后本地打开 Navicat连接127.0.0.1:33060数据库就出现在你面前了。数据全程走 SSH 加密隧道数据库端口不会直接暴露公网这对线上环境是非常踏实的访问方式。使用场景还包括访问跳板机背后的 Web 管理后台、连接内网 Redis、通过跳板机访问不开公网端口的服务。5.3 “回退目录”这类命令疑问到底在问什么搜索热词里有“xshell 命令回退目录”其实问的是 Linux 基础命令只不过很多人是在 XShell 窗口里下意识地把 Windows 的习惯带了进来。在 XShell 窗口里你敲的不是 Windows 命令而是 Linux 命令。最常见的回退操作是cd ..返回上一级目录cd -回到上一次所在的目录pwd显示当前完整路径这三个足够覆盖日常“我跑到哪去了所以退一步”的场景。如果愿意更精细一点可以用cd ~直接回当前用户家目录。XShell 本身不会帮你记住目录历史它只是忠实地把键盘输入传给服务器所以这类操作本质上是 Linux shell 的cd问题。6. 常见问题速查与我的几个习惯6.1 高频报错速查表我把日常答疑时遇到的 XShell 与 SSH 报错整理成表排查时对着看报错提示含义解决切入点Connection timed out数据包没到达服务器网络链路、安全组、防火墙Connection refused端口通但服务未监听SSH 服务状态、端口号、sshd 配置Host key verification failed主机指纹发生变化服务器重装过系统删除旧指纹并重新接受Permission denied (password)密码错误次数过多或账户禁用重置密码、检查账户锁Permission denied (publickey)密钥不匹配authorized_keys 内容、私钥格式、权限User canceled connection用户主动取消检查是否点了取消或超时遇到 Host key verification failed 时需要在 XShell“工具 → 主机密钥管理器”里找到对应 IP 删掉旧记录或直接在弹窗里按提示更新。如果你确定服务器刚重装过接受新指纹是正常的如果没重装过反而要警惕中间人先别急着接受。6.2 自动断连心跳包设置经常挂着 XShell 干别的事回来发现连接断了代码里也没报错单纯就是会话超时。原因多是本地或路由器把长时间空闲的连接清理了。XShell 的解决方案在“工具 → 选项 → 连接”里勾选“保持连接活动”设置发送心跳间隔比如 60 秒。连接建立后XShell 每隔 60 秒发送一个极短的请求保证会话不被判定为“闲置”。如果心跳包开了还是断就要看服务器端 sshd_config 里的ClientAliveInterval和ClientAliveCountMax配置但一般先调好客户端心跳能解决九成问题。6.3 我个人常用的几个习惯用 XShell 这些年我攒了几个不算技巧但很管用的习惯第一会话文件夹按环境划分。XShell“会话管理器”里可以新建文件夹我固定分三个生产环境、测试环境、开发环境。生产环境文件夹加密码虽然没有直接对文件夹加密码的选项但我会用主密码保护整个配置。生产环境会话一律只走密钥登录不保存密码。第二连接生产服务器前先打开日志记录。每次上线操作前开启日志操作完关掉并把日志文件名改成“日期服务器名”几个月后出问题还能找到当时的操作记录。第三新端口修改前先放行。修改 SSH 默认端口看起来能防扫描但在云服务器上操作顺序反了会直接把自己锁在门外先改安全组放行新端口再改 sshd_config 端口最后重启服务旧端口确认不需要后再删安全组规则。第四善用hostname -I。每次连接虚拟机前先确认 IP不凭印象填地址避免连到同名机器上改错了环境。确认连接目标的习惯比任何工具技巧都重要。XShell 这个工具本身不难难的是把习惯养好。你把会话管理、密钥认证、日志留痕这三件套做扎实了日常维护工作会轻松一大截。
返回列表