Windows 11开启 ssh 服务端

安装

参考

在 应用 > 可选功能 > 添加可选功能 中添加 OpenSSH 服务端,安装。

image.png

配置与启动

安装后用 管理员身份 打开 PowerShell,执行以下命令启动并配置:

# Start the sshd service
Start-Service sshd

# OPTIONAL but recommended:
Set-Service -Name sshd -StartupType 'Automatic'

# Confirm the Firewall rule is configured. It should be created automatically by setup. Run the following to verify
if (!(Get-NetFirewallRule -Name "OpenSSH-Server-In-TCP" -ErrorAction SilentlyContinue | Select-Object Name, Enabled)) {
    Write-Output "Firewall Rule 'OpenSSH-Server-In-TCP' does not exist, creating it..."
    New-NetFirewallRule -Name 'OpenSSH-Server-In-TCP' -DisplayName 'OpenSSH Server (sshd)' -Enabled True -Direction Inbound -Protocol TCP -Action Allow -LocalPort 22
} else {
    Write-Output "Firewall rule 'OpenSSH-Server-In-TCP' has been created and exists."
}

这样配置之后,外界用户访问需要输入密码。这时需要添加外界用户的 ssh key 并再配置一下(注意,只加 ssh key 不行):

使用 ssh 授权

用户的 ssh pub key 添加到 ~\.ssh\authorized_keys 中。

更改配置文件 C:\ProgramData\ssh\sshd_config

#允许公钥授权访问,确保条目不被注释
PubkeyAuthentication yes

#授权文件存放位置,确保条目不被注释
AuthorizedKeysFile  .ssh/authorized_keys

#可选,关闭密码登录,提高安全性
PasswordAuthentication no

#注释掉默认授权文件位置,确保以下条目被注释
#Match Group administrators
#       AuthorizedKeysFile __PROGRAMDATA__/ssh/administrators_authorized_keys

注意修改需要用管理员权限保存。保存后用管理员权限重启。

Restart-Service sshd

DONE!

你可能感兴趣的:(Windows 11开启 ssh 服务端)