来讲解一下“Windows上SSH服务器配置图文教程”的完整攻略。
1. 安装OpenSSH
Windows 上自带的 SSH 服务器是通过 OpenSSH 实现的。所以,第一步是安装 OpenSSH。
- 打开 Windows PowerShell,以管理员权限运行。
- 输入以下命令安装 OpenSSH:
powershell
Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0
2. 启用OpenSSH服务
在安装完 OpenSSH 之后,需要启用 OpenSSH 服务,才能开启 SSH 访问。
- 打开 Windows PowerShell,以管理员权限运行。
- 启用 OpenSSH 服务:
powershell
Start-Service sshd
3. 配置OpenSSH
在启用 OpenSSH 服务之后,需要进行一些配置,才能使 SSH 访问正常运行。
- 打开
C:\ProgramData\ssh\sshd_config
文件。 - 取消以下行的注释:
#Port 22
#AddressFamily any
#ListenAddress 0.0.0.0
#PasswordAuthentication yes
#PermitEmptyPasswords no
#ChallengeResponseAuthentication no
#PubkeyAuthentication yes
将 Port
的值改为你想要的端口(例如:2222),这里我们将 Port
的值改为 2222。
Port 2222
将 PasswordAuthentication
的值改为 yes
,这样可以允许使用密码登录。如果你使用密钥登录,则可以将其设置为 no
。
PasswordAuthentication yes
- 保存配置文件,并重启 OpenSSH 服务:
powershell
Restart-Service sshd
4. 防火墙配置
在启用 OpenSSH 服务后,还需要修改 Windows 防火墙的配置,才能允许外部主机连接到 SSH 服务器。
- 打开 Windows Defender 防火墙,进入高级设置。
-
创建一个入站规则,允许外部主机连接到 SSH 服务器的端口。这里我们创建一条规则,允许外部主机连接到 2222 端口。
-
规则类型:端口
- 协议类型:TCP
- 本地端口:指定 2222 端口(或者其他你自己设置的端口)
- 允许连接:指定外部 IP 或者任何 IP
示例说明
示例1:以密码方式登录
-
在终端中运行以下命令,登录到 SSH 服务器:
bash
ssh username@hostname -p 2222username 为远程主机的用户名,hostname 为远程主机的地址或 IP 地址,-p 指定端口号。
-
输入密码进行登录。
示例2:以密钥方式登录
- 在本地生成 SSH 密钥:
bash
ssh-keygen
- 将生成的公钥
~/.ssh/id_rsa.pub
复制到 SSH 服务器上的~/.ssh/authorized_keys
文件中。
bash
cat ~/.ssh/id_rsa.pub | ssh username@hostname -p 2222 'cat >> ~/.ssh/authorized_keys'
注意,这里的 username 和 hostname 都是远程主机的用户名和地址,-p 指定端口号。
- 在终端中运行以下命令,登录到 SSH 服务器:
bash
ssh username@hostname -p 2222
注意,这里的 username 和 hostname 都是远程主机的用户名和地址,-p 指定端口号。由于已经将公钥添加到服务器的 authorized_keys 文件中,所以可以直接登录到服务器,无需输入密码。
以上就是“Windows上SSH服务器配置图文教程”的完整攻略了。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Windows上SSH服务器配置图文教程 - Python技术站