启用openssh server
要在Windows上启用OpenSSH服务器,你可以通过PowerShell来完成这个任务。以下是具体步骤:
打开PowerShell(以管理员身份运行)。
输入以下命令来安装和启动OpenSSH服务器:
Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0
Start-Service sshd
Set-Service -Name sshd -StartupType 'Automatic'
为了确保安装成功,你可以使用下面的命令检查已安装的功能列表,确认OpenSSH.Server已经存在:
Get-WindowsCapability -Online | Where-Object Name -like 'OpenSSH*'
你可能还需要配置防火墙规则允许ssh连接,可以使用下面两个命令进行设置:
New-NetFirewallRule -Name sshd -DisplayName 'OpenSSH Server (sshd)' -Enabled True -Direction Inbound -Protocol TCP -Action Allow -LocalPort 22
最后,检查服务状态确保一切正常运行:
Get-Service sshd
按照上述步骤操作后,你的系统应该就正确地启用了OpenSSH服务器了。如果你遇到任何问题,请告诉我具体错误信息,我会尽力帮助解决。
查看windows sshd现存用户
要查看在Windows系统中通过OpenSSH服务器已经存在的用户,可以通过检查C:\ProgramData\ssh\sshd_config文件以及Windows的本地用户数据库来实现。然而,直接从OpenSSH的角度来看,最简单的方法是使用PowerShell查询活动目录或本地用户账户。
如果你想要查看哪些本地用户账号可以用于通过OpenSSH登录到你的Windows机器上,可以执行以下步骤:
确认授权用户: OpenSSH默认情况下会授权所有在Windows中创建的本地用户。这意味着任何拥有一个有效登录密码的本地用户理论上都可以尝试通过SSH登录。
检查当前用户的权限(可选): 如果你想确保只有特定的用户被允许访问SSH,你可能需要手动修改C:\ProgramData\ssh/sshd_config文件,在其中添加类似下面的行来指定允许或拒绝某些用户名登录:
AllowUsers 用户名
DenyUsers 禁止使用的用户名
验证:
使用Get-LocalUser命令可以列出所有的本地用户。
Get-LocalUser | Select-Object Name,Enabled
这个命令将显示所有本地用户及其是否被禁用的状态。
查找配置中的特殊设置: 如果有特殊配置限制了谁可以通过SSH登录,你需要检查C:\ProgramData\ssh/sshd_config文件是否有相关的AllowUsers, DenyUsers, AllowGroups, 或者 DenyGroups 指令。
注意:以上方法主要是为了帮助理解和管理已有的用户及他们的权限状态。如果你想明确地知道哪些具体的用户在过去曾经成功地使用SSH登录过,这通常不会记录在一个易于访问的位置;登录历史可能会根据系统的日志设置有所不同。对于更详细的审计需求,考虑查阅系统的安全事件日志。