17370845950

如何在Windows上配置和使用SSH客户端(PuTTY/Windows Terminal)【远程】
可在Windows上用PuTTY或Windows Terminal通过SSH连接远程服务器:PuTTY需配置主机、端口、用户名并保存会话;Windows Terminal内置OpenSSH,支持命令行ssh登录及预设配置;推荐生成RSA密钥对提升安全性,并禁用密码认证。

如果您希望在Windows系统上通过SSH协议连接远程服务器,可以使用PuTTY或Windows Terminal作为客户端工具。以下是配置和使用这两种工具的具体步骤:

一、使用PuTTY配置SSH连接

PuTTY是一款轻量级、无需安装的图形化SSH客户端,适用于快速建立安全远程会话。它通过TCP端口22与远程SSH服务通信,并支持密钥认证与密码登录两种方式。

1、访问PuTTY官网(https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html),下载putty.exe文件。

2、双击运行putty.exe,不需安装即可启动主界面。

3、在“Host Name (or IP address)”栏中输入远程服务器的IP地址或域名

4、确认“Connection type”为SSH,“Port”为22(如远程服务使用非标端口,请替换为对应数字)。

5、在左侧树形菜单中展开“Connection”→“Data”,在“Auto-login username”中填入远程服务器上的有效用户名

6、返回顶部,点击“Save”按钮,在“Saved Sessions”框中输入一个便于识别的名称(如“web-server-01”),再点击“Save”保存配置。

7、选中已保存的会话名,点击“Open”启动连接;首次连接时会弹出密钥确认窗口,点击“Yes”接受并继续。

8、若启用密码认证,输入用户密码后按回车;若配置了私钥,需提前在“Connection”→“SSH”→“Auth”中指定私钥文件路径(.ppk格式)。

二、使用Windows Terminal配置SSH连接

Windows Terminal是微软官方推出的现代终端应用,内置OpenSSH客户端(Windows 10 1809及以后版本默认包含),支持多标签、自定义配色与命令行快速调用。

1、按下Win+R键,输入powershell,回车打开PowerShell窗口。

2、执行命令检查OpenSSH客户端是否启用:Get-WindowsCapability -Online | Where-Object Name -like 'OpenSSH.Client*'

3、若State显示为“NotPresent”,则运行:Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0启用客户端功能。

4、打开Windows Terminal,点击右上角“+”号新建标签页,选择“PowerShell”或“Command Prompt”。

5、输入连接命令:ssh username@server_ip_address(将username和server_ip_address替换为实际值)。

6、首次连接时,系统会提示确认远程主机指纹,输入yes并按回车继续。

7、输入用户密码完成身份验证;如已配置公钥,则无需输入密码即可登录。

8、可在Windows Terminal设置中(Ctrl+,)添加预设配置:在profiles.list中新增一个profile对象,设置commandline为ssh命令,name为自定义会话名,使连接一键可启。

三、生成并部署SSH密钥对(增强安全性)

使用密钥对替代密码登录可避免暴力破解风险,且支持无交互式自动连接。Windows自带ssh-keygen工具,无需第三方软件。

1、以管理员身份打开PowerShell或Windows Terminal。

2、运行命令生成RSA密钥对:ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

3、按回车接受默认保存路径(通常为C:\Users\用户名\.ssh\id_rsa),可选设密钥口令(passphrase)。

4、运行命令将公钥复制到远程服务器:ssh-copy-id username@server_ip_address(若该命令不可用,可手动将~/.ssh/id_rsa.pub内容追加至远程服务器的~/.ssh/authorized_keys文件中)。

5、修改远程服务器sshd_config文件(位于/etc/ssh/sshd_config),确保以下参数启用:PubkeyAuthentication yesPasswordAuthentication no(禁用密码后务必先验证密钥登录成功)。

6、重启远程SSH服务:sudo systemctl restart sshd(Linux服务器)或通过服务管理器重启OpenSSH服务(Windows Server)。

四、解决PuTTY连接超时或拒绝访问问题

PuTTY连接失败常因网络策略、防火墙拦截或远程服务未监听导致,需逐层排查链路状态。

1、在本地Windows中执行:ping server_ip_address,确认基础网络可达性。

2、执行端口连通性测试:Test-NetConnection server_ip_address -Port 22(PowerShell命令),观察TcpTestSucceeded是否为True。

3、若失败,检查本地防火墙是否放行出站TCP 22端口;临时关闭防火墙测试是否恢复连接。

4、登录远程服务器,运行:netstat -tuln | findstr :22(Linux)或Get-NetTCPConnection -LocalPort 22(Windows),确认sshd进程正在监听。

5、检查远程服务器防火墙规则,确保入站TCP 22端口开放;Linux系统还需确认iptables/nftables未丢弃相关包。

6、查看PuTTY事件日志:连接失败后,点击窗口标题栏右键→“Event Log”,分析具体错误类型(如“Connection refused”、“Network error: Software caused connection abort”等)。