Powershell: SSH ํ‚ค ์ธ์ฆ์„ ์‚ฌ์šฉํ•  ๋•Œ New-PSSession ์˜ค๋ฅ˜ "์ฑ„๋„ 0์—์„œ ํ•˜์œ„ ์‹œ์Šคํ…œ ์š”์ฒญ ์‹คํŒจ"

์— ๋งŒ๋“  2018๋…„ 01์›” 19์ผ  ยท  3์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: PowerShell/PowerShell

๋ฒˆ์‹ ๋‹จ๊ณ„

New-PSSession -SSHTransport -UserName SpockAdmin -KeyFilePath /Users/tsulli/Spocks_Private_Key.pem -HostName x.x.x.x

์ง•ํ›„

New-PSSession : [xxxx] ๋ฐฑ๊ทธ๋ผ์šด๋“œ ํ”„๋กœ์„ธ์Šค์—์„œ ๋‹ค์Œ ๋ฉ”์‹œ์ง€์™€ ํ•จ๊ป˜ ์˜ค๋ฅ˜๋ฅผ ๋ณด๊ณ ํ–ˆ์Šต๋‹ˆ๋‹ค. SSH ํด๋ผ์ด์–ธํŠธ ์„ธ์…˜์ด ์˜ค๋ฅ˜ ๋ฉ”์‹œ์ง€์™€ ํ•จ๊ป˜ ์ข…๋ฃŒ๋˜์—ˆ์Šต๋‹ˆ๋‹ค: ์ฑ„๋„ 0์—์„œ ์„œ๋ธŒ์‹œ์Šคํ…œ ์š”์ฒญ์ด ์‹คํŒจํ–ˆ์Šต๋‹ˆ๋‹ค.

์ฐธ๊ณ  : Mac์—์„œ ssh ๋ช…๋ น์ค„ ํด๋ผ์ด์–ธํŠธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์‹œ์Šคํ…œ์— SSH๋กœ ์„ฑ๊ณต์ ์œผ๋กœ ์—ฐ๊ฒฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ณ ์น˜๋‹ค

๋‹ค์Œ ๋ฌธ์„œ์— ์„ค๋ช…๋œ ๋Œ€๋กœ sshd_config ์— Subsystem ๊ตฌ์„ฑ์ด ํฌํ•จ๋˜์–ด ์žˆ๋Š”์ง€ ํ™•์ธํ•˜์„ธ์š”.
https://docs.microsoft.com/en-us/powershell/scripting/core-powershell/ssh-remoting-in-powershell-core

sshd_config ์ˆ˜์ •ํ•œ ํ›„ Windows ์ธ์Šคํ„ด์Šค์—์„œ SSH ๋ฐ๋ชฌ Restart-Service -Name sshd ๋„ ๋‹ค์‹œ ์‹œ์ž‘ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์ˆ˜์ • ์‚ฌํ•ญ์„ ์ฐพ์•˜์œผ๋ฏ€๋กœ ์ฆ‰์‹œ ๋‹ซ์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ์ˆœ์ „ํžˆ ์ปค๋ฎค๋‹ˆํ‹ฐ ๋ฌธ์„œํ™” ๋ชฉ์ ์œผ๋กœ ๊ฒŒ์‹œ๋˜๋ฏ€๋กœ ๋‹ค๋ฅธ ์‚ฌ๋žŒ๋“ค์ด ๋‚ด ํ•™์Šต์œผ๋กœ๋ถ€ํ„ฐ ํ˜œํƒ์„ ๋ฐ›์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Issue-Question Resolution-Answered

๋ชจ๋“  3 ๋Œ“๊ธ€

sshd_config๋Š” OpenSSH๊ฐ€ ์„ค์น˜๋œ ์œ„์น˜๊ฐ€ ์•„๋‹Œ %ProgramData%ssh์— ์žˆ์Šต๋‹ˆ๋‹ค.

๋ฌธ์ œ๋Š” ํ•˜์œ„ ์‹œ์Šคํ…œ์„ ์ถ”๊ฐ€ํ•œ ํ›„์—๋„ ๊ณ„์† ์กด์žฌํ•ฉ๋‹ˆ๋‹ค. 'sshd -T'๋ฅผ ์‹คํ–‰ํ•˜๋ฉด ๋‚ด ๊ตฌ์„ฑ์ด ์ด๋ฏธ ๋กœ๋“œ๋˜์—ˆ์Œ์„ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค.

PS> sshd -T | select-string 'subsystem'

subsystem sftp sftp-server.exe
subsystem powershell c:\pwsh\pwsh.exe -sshs -NoLogo -NoProfile

ssh cmd๋Š” ์—ฌ์ „ํžˆ 'powershell'์ด๋ผ๋Š” ์ด๋ฆ„์„ ์•Œ์•„๋‚ผ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

PS> ssh [email protected] -s powershell
Authorized users only. All activity may be monitored and reported.
Password:
subsystem request failed on channel 0

์šด์˜ ์‹œ์Šคํ…œ:

PS>((Get-ItemProperty "HKLM:\SOFTWARE\Microsoft\Windows nt\CurrentVersion\" -Name ProductName).ProductName)
Windows 7 Professional

๋‚ด openssh ๋ฒ„์ „์€

PS>((Get-Item (Get-Command sshd).Source).VersionInfo.FileVersion)
7.7.2.0

ํŒŒ์›Œ์‰˜ ๋ฒ„์ „

PS> $PSVersionTable

Name                           Value
----                           -----
PSVersion                      6.1.0
PSEdition                      Core
GitCommitId                    6.1.0
OS                             Microsoft Windows 6.1.7601 S
Platform                       Win32NT
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0...}
PSRemotingProtocolVersion      2.3
SerializationVersion           1.1.0.1
WSManStackVersion              3.0

ํ•˜์œ„ ์‹œ์Šคํ…œ powershell pwsh.exe -sshs -NoLogo -NoProfile

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰