我一直对连接 Windows 机器感到沮丧。 不,我既不是微软及其产品的反对者,也不是支持者。 每个产品的存在都有其自己的目的,但这不是它的目的。
连接到 Windows 服务器对我来说一直是极其痛苦的,因为这些连接要么是通过一个地方配置的(hello WinRM with HTTPS),要么工作不稳定(hello RDP 到海外虚拟机)。
因此,无意中遇到了这个项目
手动 - 通过
包 巧克力味 - 通过 Ansible,例如角色
jborean93.win_openssh
接下来我就讲第一点,其他的事情都已经比较清楚了。
我想指出的是,该项目仍处于测试阶段,因此不建议在生产中使用它。
因此,下载最新版本,目前是
打开包装 C:Program FilesOpenSSH
正确操作的强制要点:仅 系统 和管理组。
使用脚本安装服务 安装-sshd.ps1 位于该目录中
powershell.exe -ExecutionPolicy Bypass -File install-sshd.ps1
允许端口 22 上的传入连接:
New-NetFirewallRule -Name sshd -DisplayName 'OpenSSH Server (sshd)' -Enabled True -Direction Inbound -Protocol TCP -Action Allow -LocalPort 22
澄清:小程序 新的NetFirewall规则 在 Windows Server 2012 及更高版本上使用。 在最旧的系统(或桌面)中,您可以使用以下命令:
netsh advfirewall firewall add rule name=sshd dir=in action=allow protocol=TCP localport=22
让我们启动服务:
net start sshd
启动时,主机密钥将自动生成(如果丢失) %programdata%ssh
我们可以使用以下命令启用系统启动时服务的自动启动:
Set-Service sshd -StartupType Automatic
您还可以更改默认的命令 shell(安装后默认为 CMD):
New-ItemProperty -Path "HKLM:SOFTWAREOpenSSH" -Name DefaultShell -Value "C:WindowsSystem32WindowsPowerShellv1.0powershell.exe" -PropertyType String -Force
说明:您必须指定绝对路径。
接下来是什么?
然后我们设置一下 sshd_配置,我们将把它放在 C:程序数据。 例如:
PasswordAuthentication no
PubkeyAuthentication yes
并在用户文件夹中创建一个目录 .ssh,以及其中的文件 授权密钥。 我们在那里写下公钥。
重要说明:只有文件所在目录的用户才有权写入该文件。
但如果您遇到问题,您可以随时在配置中关闭权限检查:
StrictModes no
顺便说一下,在 C:Program FilesOpenSSH 有 2 个脚本(修复HostFilePermissions.ps1, 修复用户文件权限.ps1),应该但没有义务确定权利,包括 授权密钥,但由于某种原因他们没有注册。
不要忘记重新启动服务 sshd的 之后应用更改。
ru-mbp-666:infrastructure$ ssh [email protected] -i ~/.ssh/id_rsa
Windows PowerShell
Copyright (C) 2016 Microsoft Corporation. All rights reserved.
PS C:UsersAdministrator> Get-Host
Name : ConsoleHost
Version : 5.1.14393.2791
InstanceId : 653210bd-6f58-445e-80a0-66f66666f6f6
UI : System.Management.Automation.Internal.Host.InternalHostUserInterface
CurrentCulture : en-US
CurrentUICulture : en-US
PrivateData : Microsoft.PowerShell.ConsoleHost+ConsoleColorProxy
DebuggerEnabled : True
IsRunspacePushed : False
Runspace : System.Management.Automation.Runspaces.LocalRunspace
PS C:UsersAdministrator>
主观优点/缺点。
优点:
- 连接服务器的标准方法。
当Windows机器很少时,以下情况就很不方便:
所以,这里我们通过 ssh,这里我们使用 rdp,
一般来说,堡垒的最佳实践首先是 ssh 隧道,然后通过它进行 RDP。 - 易于设置
我认为这是显而易见的。 - 连接和与远程机器一起工作的速度
没有图形外壳,既节省了服务器资源,又节省了传输的数据量。
缺点:
- 不完全取代 RDP。
唉,并不是所有事情都可以从控制台完成。 我的意思是需要 GUI 的情况。
文章中使用的材料:
安装选项无耻地复制自
来源: habr.com