1:在目标服务器上安装ssh服务端
Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0
2:启动windows的openssh server
在管理员界面的powershell中启动openssh Start-Service sshd
Start-Service sshd
3:设置开机启动
Set-Service sshd -StartupType Automatic
4:确认防火墙规则已配置
在管理员界面的powershell中运行下面命令
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."
}
5:尝试连接:ssh zcy3095@172.29.208.201
6:根据密钥进行免密登录
1:生成密码:在PowerSheel中输入:ssh-keygen
会在当前用户的目录下生成两个文件,一个公钥一个私钥
将公钥复制到目标服务器上
创建一个authorized_keys的文件,将公钥的内容复制进去
然后在服务器的C:\ProgramData\ssh目录下,找到sshd_config文件。仔细检查确保PubkeyAuthentication的值是yes或者没有被注释。以及AuthorizedKeysFile指向的地址是.ssh/authorized_keys。保存文件后重启ssh服务。
最后在本机.ssh目录下创建config文件,在文件中输入以下代码:
Host CSSC_FIN_RPA10
HostName 172.29.208.201
User zcy3095
IdentityFile C:\Users\zcy3095.ssh\id_rsa
再次输入连接ssh zcy3095@172.29.208.201
直接登录。