安装 OpenSSH 客户端(如果未安装),在powershell执行
Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0
安装 OpenSSH 服务器(如果未安装),在powershell执行
Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0
启动服务,设置开机自动启动,在powershell执行
# 启动 SSHD 服务
Start-Service sshd
# 设置为自动启动
Set-Service -Name sshd -StartupType 'Automatic'
# 确认服务状态
Get-Service sshd
# 重启SSH服务
Restart-Service sshd
注意事项
window默认安装后,配置文件在这个目录:C:\ProgramData\ssh\ssh_config
需要关注以下配置,如果希望管理员用户的authorized_keys文件也保存在用户目录的.ssh目录下,那么要注释后面两行代码,重启服务。
# ...
AuthorizedKeysFile .ssh/authorized_keys
# ...
# ...
Match Group administrators
AuthorizedKeysFile __PROGRAMDATA__/ssh/administrators_authorized_keys
在服务端创建ssh用户,在powershell执行。(如果使用administrator用户或其他现有的用户,则跳过此步骤)
net user 用户名 密码 /add
在客户端测试登录
ssh 用户名@192.168.1.63
新建的用户默认是无法远程桌面登录的,如果需要自己添加远程桌面登录权限。
配置客户端免密登录,在powershell执行
# 客户端服务器生成公钥
ssh-keygen -t rsa
# 将客户端的公钥提交到服务端的authorized_keys文件中,此命令在客户端电脑执行
# 这一步注意要先创建.ssh文件夹
scp ~/.ssh/id_rsa.pub 用户名@192.168.1.63:C:\\Users\\用户名\\.ssh\\authorized_keys
如果无法免密登录,那么需要关注authorized_keys文件的权限,ssh对authorized_keys文件的权限是有要求的,自行百度一下。
至此结束,有帮助请点赞。