在Linux系统上通过SSH连接Windows系统,需要先在Windows端部署SSH服务器,因为Windows默认不提供SSH服务。以下步骤基于Windows 10(版本1809或更高)和Windows Server 2019及以上版本,这些版本内置了OpenSSH服务器作为可选功能。对于更早的Windows版本,建议使用第三方SSH服务器软件如OpenSSH for Windows或FreeSSHd,但本文聚焦于内置方案以确保专业准确性。

前提条件包括:确保Windows系统已更新到支持OpenSSH的版本,Linux系统已安装SSH客户端(通常默认安装),并且网络连通性良好(例如,通过IP地址或主机名可访问)。建议以管理员权限操作Windows端,并从Linux终端执行命令。
步骤一:在Windows上安装和启用OpenSSH服务器。以管理员身份打开PowerShell,运行以下命令:Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0。安装完成后,启动SSH服务:Start-Service sshd,并设置为开机自启:Set-Service -Name sshd -StartupType 'Automatic'。验证服务状态可使用:Get-Service sshd。
步骤二:配置Windows防火墙以允许SSH流量。默认SSH端口为22,在PowerShell中运行:New-NetFirewallRule -Name sshd -DisplayName 'OpenSSH Server (sshd)' -Enabled True -Direction Inbound -Protocol TCP -Action Allow -LocalPort 22。如果端口更改,需相应调整规则和SSH配置文件。
步骤三:从Linux终端发起SSH连接。使用命令:ssh username@windows_ip_address,其中username是Windows用户账户名(注意:Windows账户名可能区分大小写),windows_ip_address是Windows机器的IP地址或主机名。首次连接时会提示验证主机密钥,输入yes确认即可。如果使用密钥认证,需先在Windows上配置SSH密钥,这可通过编辑%programdata%\ssh\administrators_authorized_keys文件实现。
常见问题与解决方案:如果连接失败,检查Windows上SSH服务是否运行(Get-Service sshd)、防火墙规则是否生效,并确保网络设置正确(如IP地址无误)。对于认证问题,确认Windows用户密码正确或密钥配置无误。此外,Windows OpenSSH服务器默认启用密码认证,如需禁用可修改sshd_config文件。
总结:通过部署Windows内置的OpenSSH服务器,可以从Linux系统安全地使用SSH协议远程连接,这适用于系统管理、文件传输等场景。确保遵循安全最佳实践,如使用强密码、密钥认证和定期更新系统。

查看详情

查看详情