เจฒเฉ€เจจเจ•เจธ เจตเจพเจ‚เจ— SSH เจฐเจพเจนเฉ€เจ‚ เจตเจฟเฉฐเจกเฉ‹เจœเจผ เจจเจพเจฒ เจ•เจจเฉˆเจ•เจŸ เจ•เจฐเจจเจพ

เจฎเฉˆเจ‚ เจนเจฎเฉ‡เจธเจผเจพ เจตเจฟเฉฐเจกเฉ‹เจœเจผ เจฎเจธเจผเฉ€เจจเจพเจ‚ เจจเจพเจฒ เจ•เจจเฉˆเจ•เจŸ เจ•เจฐเจ•เฉ‡ เจจเจฟเจฐเจพเจธเจผ เจนเฉ‹เจ‡เจ† เจนเจพเจ‚เฅค เจจเจนเฉ€เจ‚, เจฎเฉˆเจ‚ Microsoft เจ…เจคเฉ‡ เจ‰เจนเจจเจพเจ‚ เจฆเฉ‡ เจ‰เจคเจชเจพเจฆเจพเจ‚ เจฆเจพ เจจเจพ เจคเจพเจ‚ เจตเจฟเจฐเฉ‹เจงเฉ€ เจนเจพเจ‚ เจ…เจคเฉ‡ เจจเจพ เจนเฉ€ เจธเจฎเจฐเจฅเจ• เจนเจพเจ‚เฅค เจนเจฐ เจ‰เจคเจชเจพเจฆ เจ‡เจธเจฆเฉ‡ เจ†เจชเจฃเฉ‡ เจ‰เจฆเฉ‡เจธเจผ เจฒเจˆ เจฎเฉŒเจœเฉ‚เจฆ เจนเฉˆ, เจชเจฐ เจ‡เจน เจ‰เจน เจจเจนเฉ€เจ‚ เจนเฉˆ เจœเจฟเจธ เจฌเจพเจฐเฉ‡ เจ‡เจน เจนเฉˆเฅค
เจตเจฟเฉฐเจกเฉ‹เจœเจผ เจธเจฐเจตเจฐเจพเจ‚ เจจเจพเจฒ เจœเฉเฉœเจจเจพ เจฎเฉ‡เจฐเฉ‡ เจฒเจˆ เจนเจฎเฉ‡เจธเจผเจพเจ‚ เจฌเจนเฉเจค เจฆเฉเจ–เจฆเจพเจˆ เจฐเจฟเจนเจพ เจนเฉˆ, เจ•เจฟเจ‰เจ‚เจ•เจฟ เจ‡เจน เจ•เจจเฉˆเจ•เจธเจผเจจ เจœเจพเจ‚ เจคเจพเจ‚ เจ‡เฉฑเจ• เจฅเจพเจ‚ (Hello WinRM with HTTPS) เจฆเฉเจ†เจฐเจพ เจ•เฉŒเจ‚เจซเจฟเจ—เจฐ เจ•เฉ€เจคเฉ‡ เจ—เจ เจนเจจ เจœเจพเจ‚ เจฌเจนเฉเจค เจธเจฅเจฟเจฐเจคเจพ เจจเจพเจฒ เจ•เฉฐเจฎ เจจเจนเฉ€เจ‚ เจ•เจฐเจฆเฉ‡ เจนเจจ (เจตเจฟเจฆเฉ‡เจธเจผเจพเจ‚ เจตเจฟเฉฑเจš เจตเจฐเจšเฉเจ…เจฒ เจฎเจธเจผเฉ€เจจเจพเจ‚ เจฒเจˆ เจนเฉˆเจฒเฉ‹ เจ†เจฐเจกเฉ€เจชเฉ€)เฅค

เจ‡เจธ เจฒเจˆ, เจ—เจฒเจคเฉ€ เจจเจพเจฒ เจชเฉเจฐเจพเจœเฉˆเจ•เจŸ เจจเฉ‚เฉฐ เจญเจฐ เจตเจฟเฉฑเจš เจ† Win32-OpenSSH, เจฎเฉˆเจ‚ เจ†เจชเจฃเจพ เจธเฉˆเฉฑเจŸเจ…เฉฑเจช เจ…เจจเฉเจญเจต เจธเจพเจ‚เจเจพ เจ•เจฐเจจ เจฆเจพ เจซเฉˆเจธเจฒเจพ เจ•เฉ€เจคเจพ เจนเฉˆเฅค เจธเจผเจพเจ‡เจฆ เจ‡เจน เจธเจพเจงเจจ เจ•เจฟเจธเฉ‡ เจจเฉ‚เฉฐ เจฌเจนเฉเจค เจธเจพเจฐเฉ€เจ†เจ‚ เจจเจธเจพเจ‚ เจฌเจšเจพเจเจ—เจพ.

เจฒเฉ€เจจเจ•เจธ เจตเจพเจ‚เจ— SSH เจฐเจพเจนเฉ€เจ‚ เจตเจฟเฉฐเจกเฉ‹เจœเจผ เจจเจพเจฒ เจ•เจจเฉˆเจ•เจŸ เจ•เจฐเจจเจพ

เจ‡เฉฐเจธเจŸเจพเจฒเฉ‡เจธเจผเจจ เจตเจฟเจ•เจฒเจช:

  1. เจนเฉฑเจฅ เจจเจพเจฒ
  2. เจฆเฉ‡ เจœเจผเจฐเฉ€เจ เจชเฉˆเจ•เฉ‡เจœ เจšเฉˆเจ•เจ•เฉ€เจฒเฉ€
  3. เจœเจตเจพเจฌเจฆเฉ‡เจนเฉ€ เจฐเจพเจนเฉ€เจ‚, เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ เจญเฉ‚เจฎเจฟเจ•เจพ jborean93.win_openssh

เจ…เฉฑเจ—เฉ‡, เจฎเฉˆเจ‚ เจชเจนเจฟเจฒเฉ‡ เจจเฉเจ•เจคเฉ‡ เจฌเจพเจฐเฉ‡ เจ—เฉฑเจฒ เจ•เจฐเจพเจ‚เจ—เจพ, เจ•เจฟเจ‰เจ‚เจ•เจฟ เจฌเจพเจ•เฉ€ เจฆเฉ‡ เจจเจพเจฒ เจธเจญ เจ•เฉเจ เจ˜เฉฑเจŸ เจœเจพเจ‚ เจ˜เฉฑเจŸ เจธเจชเฉฑเจธเจผเจŸ เจนเฉˆ.

เจฎเฉˆเจ‚ เจ‡เจน เจจเฉ‹เจŸ เจ•เจฐเจจเจพ เจšเจพเจนเจพเจ‚เจ—เจพ เจ•เจฟ เจ‡เจน เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸ เจ…เจœเฉ‡ เจตเฉ€ เจฌเฉ€เจŸเจพ เจชเฉœเจพเจ… 'เจคเฉ‡ เจนเฉˆ, เจ‡เจธเจฒเจˆ เจ‡เจธเจจเฉ‚เฉฐ เจ‰เจคเจชเจพเจฆเจจ เจตเจฟเฉฑเจš เจตเจฐเจคเจฃ เจฆเฉ€ เจธเจฟเจซเจพเจฐเจธเจผ เจจเจนเฉ€เจ‚ เจ•เฉ€เจคเฉ€ เจœเจพเจ‚เจฆเฉ€.

เจ‡เจธ เจฒเจˆ, เจจเจตเฉ€เจจเจคเจฎ เจฐเฉ€เจฒเฉ€เจœเจผ เจจเฉ‚เฉฐ เจกเจพเจŠเจจเจฒเฉ‹เจก เจ•เจฐเฉ‹, เจ‡เจธ เจธเจฎเฉ‡เจ‚ เจ‡เจน เจนเฉˆ 7.9.0.0p1-เจฌเฉ€เจŸเจพ. 32 เจ…เจคเฉ‡ 64 เจฌเจฟเฉฑเจŸ เจธเจฟเจธเจŸเจฎ เจฆเฉ‹เจตเจพเจ‚ เจฒเจˆ เจธเฉฐเจธเจ•เจฐเจฃ เจนเจจเฅค

เจตเจฟเฉฑเจš เจ…เจจเจชเฉˆเจ• เจ•เจฐเฉ‹ C: เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎ เจซเจพเจˆเจฒเจพเจ‚ เจ“เจชเจจเจเจธเจเจธเจเจš
เจธเจนเฉ€ เจ•เจพเจฐเจตเจพเจˆ เจฒเจˆ เจ‡เฉฑเจ• เจฒเจพเจœเจผเจฎเฉ€ เจฌเจฟเฉฐเจฆเฉ‚: เจธเจฟเจฐเจซเจผ เจธเจฟเจธเจŸเจฎ เจ…เจคเฉ‡ เจชเฉเจฐเจฌเฉฐเจงเจ• เจธเจฎเฉ‚เจนเฅค

เจธเจ•เฉเจฐเจฟเจชเจŸ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจ•เฉ‡ เจธเฉ‡เจตเจพเจตเจพเจ‚ เจจเฉ‚เฉฐ เจธเจฅเจพเจชเจฟเจค เจ•เจฐเจจเจพ install-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

เจธเจชเจธเจผเจŸเฉ€เจ•เจฐเจจ: เจเจชเจฒเจฟเจŸ เจจเจตเจพเจ‚-NetFirewallRule เจตเจฟเฉฐเจกเฉ‹เจœเจผ เจธเจฐเจตเจฐ 2012 เจ…เจคเฉ‡ เจฌเจพเจ…เจฆ เจตเจฟเฉฑเจš เจตเจฐเจคเจฟเจ† เจœเจพเจ‚เจฆเจพ เจนเฉˆเฅค เจธเจญ เจคเฉ‹เจ‚ เจชเฉเจฐเจพเจฃเฉ‡ เจธเจฟเจธเจŸเจฎเจพเจ‚ (เจœเจพเจ‚ เจกเฉˆเจธเจ•เจŸเจพเจช) เจตเจฟเฉฑเจš เจคเฉเจธเฉ€เจ‚ เจ•เจฎเจพเจ‚เจก เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเฉ‹:

netsh advfirewall firewall add rule name=sshd dir=in action=allow protocol=TCP localport=22

เจ†เจ“ เจธเฉ‡เจตเจพ เจธเจผเฉเจฐเฉ‚ เจ•เจฐเฉ€เจ:

net start sshd

เจธเจŸเจพเจฐเจŸเจ…เฉฑเจช 'เจคเฉ‡, เจนเฉ‹เจธเจŸ เจ•เฉเฉฐเจœเฉ€เจ†เจ‚ เจ†เจชเจฃเฉ‡ เจ†เจช เจนเฉ€ เจคเจฟเจ†เจฐ เจ•เฉ€เจคเฉ€เจ†เจ‚ เจœเจพเจฃเจ—เฉ€เจ†เจ‚ (เจœเฉ‡ เจ—เฉเฉฐเจฎ เจนเจจ) %เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎเจกเจพเจŸเจพ%ssh

เจœเจฆเฉ‹เจ‚ เจธเจฟเจธเจŸเจฎ เจ•เจฎเจพเจ‚เจก เจจเจพเจฒ เจธเจผเฉเจฐเฉ‚ เจนเฉเฉฐเจฆเจพ เจนเฉˆ เจคเจพเจ‚ เจ…เจธเฉ€เจ‚ เจธเฉ‡เจตเจพ เจฆเฉ‡ เจ†เจŸเฉ‹เจธเจŸเจพเจฐเจŸ เจจเฉ‚เฉฐ เจธเจฎเจฐเฉฑเจฅ เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเจพเจ‚:

Set-Service sshd -StartupType Automatic

เจคเฉเจธเฉ€เจ‚ เจกเจฟเจซเจพเจฒเจŸ เจ•เจฎเจพเจ‚เจก เจธเจผเฉˆเฉฑเจฒ เจจเฉ‚เฉฐ เจตเฉ€ เจฌเจฆเจฒ เจธเจ•เจฆเฉ‡ เจนเฉ‹ (เจ‡เฉฐเจธเจŸเจพเจฒเฉ‡เจธเจผเจจ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ, เจกเจฟเจซเฉŒเจฒเจŸ เจนเฉˆ เจธเฉ€.เจเจฎ.เจกเฉ€.):

New-ItemProperty -Path "HKLM:SOFTWAREOpenSSH" -Name DefaultShell -Value "C:WindowsSystem32WindowsPowerShellv1.0powershell.exe" -PropertyType String -Force

เจธเจชเจธเจผเจŸเฉ€เจ•เจฐเจจ: เจคเฉเจนเจพเจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจชเฉ‚เจฐเจจ เจฎเจพเจฐเจ— เจจเจฟเจฐเจงเจพเจฐเจค เจ•เจฐเจจเจพ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆเฅค

เจ…เฉฑเจ—เฉ‡ เจ•เฉ€ เจนเฉˆ?

เจ…เจคเฉ‡ เจซเจฟเจฐ เจ…เจธเฉ€เจ‚ เจ‡เจธเจจเฉ‚เฉฐ เจธเจฅเจพเจชเจฟเจค เจ•เฉ€เจคเจพ sshd_config, เจœเจฟเจธ เจตเจฟเฉฑเจš เจ…เจธเฉ€เจ‚ เจฐเฉฑเจ–เจพเจ‚เจ—เฉ‡ C: เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎ เจกเฉ‡เจŸเจพ. เจ‰เจฆเจพเจนเจฐเจฃ เจฒเจˆ:

PasswordAuthentication no
PubkeyAuthentication yes

เจ…เจคเฉ‡ เจ‰เจชเจญเฉ‹เจ—เจคเจพ เจซเฉ‹เจฒเจกเจฐ เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจกเจพเจ‡เจฐเฉˆเจ•เจŸเจฐเฉ€ เจฌเจฃเจพเจ“ .ssh, เจ…เจคเฉ‡ เจ‡เจธ เจตเจฟเฉฑเจš เจซเจพเจˆเจฒ เจ…เจงเจฟเจ•เจพเจฐเจค_เจ•เฉเฉฐเจœเฉ€เจ†เจ‚. เจ…เจธเฉ€เจ‚ เจ‰เฉฑเจฅเฉ‡ เจœเจจเจคเจ• เจ•เฉเฉฐเจœเฉ€เจ†เจ‚ เจฒเจฟเจ–เจฆเฉ‡ เจนเจพเจ‚เฅค

เจฎเจนเฉฑเจคเจตเจชเฉ‚เจฐเจจ เจธเจชเฉฑเจธเจผเจŸเฉ€เจ•เจฐเจจ: เจธเจฟเจฐเจซเจผ เจ‰เจธ เจ‰เจชเจญเฉ‹เจ—เจคเจพ เจจเฉ‚เฉฐ เจœเจฟเจธเจฆเฉ€ เจกเจพเจ‡เจฐเฉˆเจ•เจŸเจฐเฉ€ เจตเจฟเฉฑเจš เจซเจพเจˆเจฒ เจธเจฅเจฟเจค เจนเฉˆ, เจจเฉ‚เฉฐ เจ‡เจธ เจซเจพเจˆเจฒ เจจเฉ‚เฉฐ เจฒเจฟเจ–เจฃ เจฆเจพ เจ…เจงเจฟเจ•เจพเจฐ เจนเฉ‹เจฃเจพ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆเฅค

เจชเจฐ เจœเฉ‡ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจ‡เจธ เจจเจพเจฒ เจธเจฎเฉฑเจธเจฟเจ†เจตเจพเจ‚ เจนเจจ, เจคเจพเจ‚ เจคเฉเจธเฉ€เจ‚ เจธเฉฐเจฐเจšเจจเจพ เจตเจฟเฉฑเจš เจ…เจงเจฟเจ•เจพเจฐเจพเจ‚ เจฆเฉ€ เจœเจพเจ‚เจš เจจเฉ‚เฉฐ เจนเจฎเฉ‡เจธเจผเจพเจ‚ เจฌเฉฐเจฆ เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเฉ‹:

StrictModes no

เจคเจฐเฉ€เจ•เฉ‡ เจจเจพเจฒ, เจตเจฟเจš C: เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎ เจซเจพเจˆเจฒเจพเจ‚ เจ“เจชเจจเจเจธเจเจธเจเจš เจ‡เฉฑเจฅเฉ‡ 2 เจฒเจฟเจชเฉ€เจ†เจ‚ เจนเจจ (FixHostFilePermissions.ps1, FixUserFilePermissions.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>

เจตเจฟเจ…เจ•เจคเฉ€เจ—เจค เจฒเจพเจญ/เจนเจพเจฒเฅค

เจชเฉเจฐเฉ‹:

  • เจธเจฐเจตเจฐเจพเจ‚ เจจเจพเจฒ เจœเฉเฉœเจจ เจฒเจˆ เจฎเจฟเจ†เจฐเฉ€ เจชเจนเฉเฉฐเจšเฅค
    เจœเจฆเฉ‹เจ‚ เจ•เฉเจ เจตเจฟเฉฐเจกเฉ‹เจœเจผ เจฎเจธเจผเฉ€เจจเจพเจ‚ เจนเฉเฉฐเจฆเฉ€เจ†เจ‚ เจนเจจ, เจคเจพเจ‚ เจ‡เจน เจฌเจนเฉเจค เจ…เจธเฉเจตเจฟเจงเจพเจœเจจเจ• เจนเฉเฉฐเจฆเจพ เจนเฉˆ เจœเจฆเฉ‹เจ‚:
    เจ‡เจธ เจฒเจˆ, เจ‡เฉฑเจฅเฉ‡ เจ…เจธเฉ€เจ‚ ssh เจฆเฉเจ†เจฐเจพ เจœเจพเจ‚เจฆเฉ‡ เจนเจพเจ‚, เจ…เจคเฉ‡ เจ‡เฉฑเจฅเฉ‡ เจ…เจธเฉ€เจ‚ rdp เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเฉ‡ เจนเจพเจ‚,
    เจ…เจคเฉ‡ เจ†เจฎ เจคเฉŒเจฐ 'เจคเฉ‡, เจฌเฉเจฐเจœเจพเจ‚ เจฆเฉ‡ เจจเจพเจฒ เจธเจญ เจคเฉ‹เจ‚ เจตเจงเฉ€เจ† เจ…เจญเจฟเจ†เจธ เจชเจนเจฟเจฒเจพเจ‚ เจ‡เฉฑเจ• ssh เจธเฉเจฐเฉฐเจ— เจนเฉˆ, เจ…เจคเฉ‡ เจ‡เจธเจฆเฉ‡ เจฆเฉเจ†เจฐเจพ RDPเฅค
  • เจธเจฅเจพเจชเจค เจ•เจฐเจจ เจฒเจˆ เจ†เจธเจพเจจ
    เจฎเฉˆเจจเฉ‚เฉฐ เจฒเฉฑเจ—เจฆเจพ เจนเฉˆ เจ•เจฟ เจ‡เจน เจธเจชเฉฑเจธเจผเจŸ เจนเฉˆ.
  • เจฐเจฟเจฎเฉ‹เจŸ เจฎเจธเจผเฉ€เจจ เจจเจพเจฒ เจ•เฉเจจเฉˆเจ•เจธเจผเจจ เจ…เจคเฉ‡ เจ•เฉฐเจฎ เจฆเฉ€ เจ—เจคเฉ€
    เจ‡เฉฑเจฅเฉ‡ เจ•เฉ‹เจˆ เจ—เฉเจฐเจพเจซเจฟเจ•เจฒ เจธเจผเฉˆเฉฑเจฒ เจจเจนเฉ€เจ‚ เจนเฉˆ, เจธเจฐเจตเจฐ เจธเจฐเฉ‹เจคเจพเจ‚ เจ…เจคเฉ‡ เจชเฉเจฐเจธเจพเจฐเจฟเจค เจกเฉ‡เจŸเจพ เจฆเฉ€ เจฎเจพเจคเจฐเจพ เจจเฉ‚เฉฐ เจธเฉเจฐเฉฑเจ–เจฟเจ…เจค เจ•เจฐเจฆเจพ เจนเฉˆเฅค

เจจเฉเจ•เจธเจพเจจ:

  • เจชเฉ‚เจฐเฉ€ เจคเจฐเฉเจนเจพเจ‚ RDP เจจเฉ‚เฉฐ เจจเจนเฉ€เจ‚ เจฌเจฆเจฒเจฆเจพเฅค
    เจธเจญ เจ•เฉเจ เจ•เฉฐเจธเฉ‹เจฒ เจคเฉ‹เจ‚ เจจเจนเฉ€เจ‚ เจ•เฉ€เจคเจพ เจœเจพ เจธเจ•เจฆเจพ, เจนเจพเจเฅค เจฎเฉ‡เจฐเจพ เจฎเจคเจฒเจฌ เจ‰เจน เจธเจฅเจฟเจคเฉ€เจ†เจ‚ เจนเจจ เจœเจฟเฉฑเจฅเฉ‡ เจ‡เฉฑเจ• GUI เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉเฉฐเจฆเฉ€ เจนเฉˆ.

เจฒเฉ‡เจ– เจตเจฟเฉฑเจš เจตเจฐเจคเฉ€ เจ—เจˆ เจธเจฎเฉฑเจ—เจฐเฉ€:
เจ–เฉเจฆ เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸ เจจเจพเจฒ เจฒเจฟเฉฐเจ• เจ•เจฐเฉ‹
เจ‡เฉฐเจธเจŸเจพเจฒเฉ‡เจธเจผเจจ เจตเจฟเจ•เจฒเจช เจฌเฉ‡เจธเจผเจฐเจฎเฉ€ เจจเจพเจฒ เจ•เจพเจชเฉ€ เจ•เฉ€เจคเฉ‡ เจ—เจ เจนเจจ เจœเจตเจพเจฌเจฆเฉ‡เจน เจฆเจธเจคเจพเจตเฉ‡เจœเจผ.

เจธเจฐเฉ‹เจค: www.habr.com

เจ‡เฉฑเจ• เจŸเจฟเฉฑเจชเจฃเฉ€ เจœเฉ‹เฉœเฉ‹