我一直對連接 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 的情況。
文章中使用的資料:
安裝選項無恥地複製自
來源: www.habr.com