安装opensshd
Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0
启动服务
Start-Service sshd
重启
Restart-Service sshd
日志位置
C:\ProgramData\ssh\logs\
开机启动
Set-Service -Name sshd -StartupType 'Automatic'
防火墙(或者全部关掉)
New-NetFirewallRule -Name sshd -DisplayName 'OpenSSH Server (sshd)' -Enabled True -Direction Inbound -Protocol TCP -Action Allow -LocalPort 22
配置:
notepad C:\ProgramData\ssh\sshd_config
关键点修改:
# Match Group administrators
# AuthorizedKeysFile __PROGRAMDATA__/ssh/administrators_authorized_keys
PermitRootLogin yes
# 允许免密
PubkeyAuthentication yes
# 允许密码
PasswordAuthentication yes
# 允许空密码
PermitEmptyPasswords no
检查服务
检查如下windows服务是否正常开启
OpenSSH Authentication Agent
OpenSSH SSH Server
更换终端
接入时,更换换powershell作为shell终端
New-ItemProperty -Path "HKLM:\SOFTWARE\OpenSSH" -Name DefaultShell -Value "C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" -PropertyType String -Force
免密
生成ssh密钥
ssh-keygen -t rsa -b 4096
配置好了SSH服务器的authorized_keys文件,对应windows和linux均位于用户的.ssh目录下。
进入C:\Users\用户名.ssh文件夹,检查authorized_keys文件的权限,按照以下步骤进行:
1、右键authorized_keys,选择属性->安全->高级->(左下角)禁用继承
2、弹框选择“将已继承的权限转换为此对象的显式权限。”
3、在权限条目中删除除了SYSTEM和当前用户外的所有权限,然后应用并退出。如下图所示: