ไคลเอ็นต์ SSH ในตัว ปรากฏใน Windows 10 และ Windows Server 2019 Ssh.exe
สามารถใช้เชื่อมต่อกับเซิร์ฟเวอร์ Linux/UNIX, โฮสต์ VMWare ESXi และอุปกรณ์อื่นๆ ได้อย่างปลอดภัยแทน Putty, MTPuTTY และไคลเอ็นต์ SSH บุคคลที่สามอื่นๆ ไคลเอ็นต์ Windows SSH ดั้งเดิมนั้นอิงตาม OpenSSH port และติดตั้งล่วงหน้าใน Windows โดยเริ่มจาก Windows 10 build 1809
สารบัญ:
- จะเปิดใช้งาน (ติดตั้ง) ไคลเอนต์ OpenSSH บน Windows 10 ได้อย่างไร
- การใช้ Native SSH Client บน Windows 10
- การใช้ SCP.exe เพื่อโอนไฟล์ไปยัง/จากโฮสต์ Windows โดยใช้ SSH
จะเปิดใช้งาน (ติดตั้ง) ไคลเอนต์ OpenSSH บน Windows 10 ได้อย่างไร
ไคลเอ็นต์ OpenSSH รวมอยู่ใน Windows 10 ฟีเจอร์แบบออนดีมานด์ (เช่น RSAT) ไคลเอ็นต์ SSH ได้รับการติดตั้งตามค่าเริ่มต้นใน Windows Server 2019, Windows 10 1809 และบิลด์ที่ใหม่กว่า
ตรวจสอบว่าติดตั้งไคลเอ็นต์ SSH แล้ว:
Get-WindowsCapability -Online | ? Name -like 'OpenSSH.Client*'
ในตัวอย่างของเรา มีการติดตั้งไคลเอนต์ OpenSSH (สถานะ:ติดตั้งแล้ว )
ถ้าไม่ (สถานะ:ไม่อยู่ ) คุณสามารถติดตั้งโดยใช้:
- คำสั่ง PowerShell:
Add-WindowsCapability -Online -Name OpenSSH.Client*
- ด้วย DISM:
dism /Online /Add-Capability /CapabilityName:OpenSSH.Server~~~~0.0.1.0
- ผ่านการตั้งค่า -> แอป -> คุณสมบัติเสริม -> เพิ่มคุณสมบัติ ค้นหา ไคลเอนต์ OpenSSH ในรายการแล้วคลิกติดตั้ง .
ไฟล์ไบนารี OpenSSH อยู่ใน c:\Windows\System32\OpenSSH\
.
ssh.exe
– ไคลเอ็นต์ SSH ปฏิบัติการได้scp.exe
– เครื่องมือสำหรับการคัดลอกไฟล์ในเซสชัน SSH;ssh-keygen.exe
– เครื่องมือในการสร้างคีย์การพิสูจน์ตัวตน RSA SSH;ssh-agent.exe
– ใช้เพื่อจัดการคีย์ RSA;ssh-add.exe
– เพิ่มคีย์ลงในฐานข้อมูลตัวแทน SSH
คุณสามารถติดตั้ง OpenSSH บน Windows เวอร์ชันก่อนหน้าได้เช่นกัน เพียงดาวน์โหลดและติดตั้ง Win32-OpenSSH จาก GitHub (คุณสามารถหาตัวอย่างได้ในบทความ:การกำหนดค่า SSH FTP บน Windows)
การใช้ Native SSH Client บน Windows 10
ในการเริ่มต้นไคลเอ็นต์ SSH ให้เรียกใช้พร้อมท์ PowerShell หรือ cmd.exe คุณสามารถแสดงรายการตัวเลือกและไวยากรณ์ที่ใช้ได้สำหรับ ssh.exe:
ssh
usage: ssh [-46AaCfGgKkMNnqsTtVvXxYy] [-b bind_address] [-c cipher_spec] [-D [bind_address:]port] [-E log_file] [-e escape_char] [-F configfile] [-I pkcs11] [-i identity_file] [-J [user@]host[:port]] [-L address] [-l login_name] [-m mac_spec] [-O ctl_cmd] [-o option] [-p port] [-Q query_option] [-R address] [-S ctl_path] [-W host:port] [-w local_tun[:remote_tun]] destination [command]
ในการเชื่อมต่อกับเซิร์ฟเวอร์ระยะไกลโดยใช้ SSH ให้ใช้คำสั่งต่อไปนี้:
ssh username@host
หากเซิร์ฟเวอร์ SSH ของคุณทำงานบนพอร์ตที่แตกต่างจาก TCP/22 มาตรฐาน ให้ระบุหมายเลขพอร์ต:
ssh username@host -p port
ตัวอย่างเช่น หากต้องการเชื่อมต่อกับโฮสต์ Linux ด้วยที่อยู่ IP 192.168.1.102 เป็นรูท ให้เรียกใช้คำสั่งนี้:
ในการเชื่อมต่อครั้งแรก คุณจะเห็นคำขอให้เพิ่มโฮสต์คีย์ในรายการที่เชื่อถือได้ พิมพ์ yes
และกด ENTER จากนั้นระบบจะเพิ่มลายนิ้วมือของคีย์โฮสต์ใน C:\Users\username\.ssh\known_hosts ไฟล์.
คุณจะได้รับแจ้งให้ใส่รหัสผ่าน ระบุรหัสผ่านรูทของคุณ และคอนโซลของเซิร์ฟเวอร์ Linux ระยะไกลควรเปิดขึ้น (ในตัวอย่างของฉัน มีการติดตั้ง CentOS บนเซิร์ฟเวอร์ระยะไกล)
เมื่อใช้ SSH คุณสามารถเชื่อมต่อทั้งกับ *Nix OS และ Windows ในบทความก่อนหน้านี้ เราได้แสดงวิธีกำหนดค่าเซิร์ฟเวอร์ OpenSSH ใน Windows 10 และเชื่อมต่อจากโฮสต์ Windows โดยใช้ไคลเอ็นต์ SSH
หากคุณใช้การตรวจสอบสิทธิ์ SSH กับคีย์ RSA (ดูตัวอย่างวิธีกำหนดค่าการตรวจสอบสิทธิ์ SSH โดยใช้คีย์ใน Windows) คุณสามารถระบุเส้นทางไปยังไฟล์คีย์ส่วนตัวในไคลเอ็นต์ SSH ได้ดังนี้:
ssh [email protected] -i "C:\Users\username\.ssh\id_rsa"
คุณยังเพิ่มคีย์ส่วนตัวให้กับ SSH-Agent ได้อีกด้วย ขั้นแรก เปิดใช้งานบริการ ssh-agent และกำหนดค่าการเริ่มต้นอัตโนมัติสำหรับบริการนั้น
set-service ssh-agent StartupType 'Automatic'
Start-Service ssh-agent
เพิ่มคีย์ส่วนตัวของคุณลงในฐานข้อมูล ssh-agent:
ssh-add "C:\Users\username\.ssh\id_rsa"
จากนั้น คุณจะสามารถเชื่อมต่อกับเซิร์ฟเวอร์ของคุณผ่าน SSH โดยไม่ต้องระบุพาธไปยังคีย์ RSA มันจะถูกใช้โดยอัตโนมัติ ตอนนี้คุณสามารถเชื่อมต่อกับเซิร์ฟเวอร์ของคุณได้อย่างปลอดภัยโดยไม่ต้องใช้รหัสผ่าน (หากคุณไม่ได้ป้องกันคีย์ RSA ของคุณด้วยรหัสผ่านอื่น):
ต่อไปนี้คืออาร์กิวเมนต์ SSH ที่มีประโยชน์มากกว่า:
-C
– ใช้เพื่อบีบอัดการรับส่งข้อมูลระหว่างไคลเอนต์และเซิร์ฟเวอร์ (มีประโยชน์ในกรณีที่การเชื่อมต่อช้าหรือไม่เสถียร)-v
– แสดงข้อมูลโดยละเอียดเกี่ยวกับการดำเนินการของไคลเอ็นต์ SSH ทั้งหมด-R/-L
– สามารถใช้เพื่อส่งต่อพอร์ตโดยใช้อุโมงค์ SSH
การใช้ SCP.exe เพื่อโอนไฟล์ไปยัง/จากโฮสต์ Windows โดยใช้ SSH
การใช้ scp.exe เครื่องมือ (เป็นส่วนหนึ่งของแพ็คเกจไคลเอนต์ Windows 10 SSH) คุณสามารถคัดลอกไฟล์จากคอมพิวเตอร์ของคุณไปยังเซิร์ฟเวอร์ SSH:
scp.exe "E:\ISO\CentOS-8.1.x86_64.iso" [email protected]:/home
คุณสามารถคัดลอกเนื้อหาไดเรกทอรีทั้งหมดแบบเรียกซ้ำได้:
scp -r E:\ISO\ [email protected]:/home
และในทางกลับกัน คุณสามารถถ่ายโอนไฟล์จากเซิร์ฟเวอร์ระยะไกลไปยังคอมพิวเตอร์ของคุณ:
scp.exe [email protected]:/home/CentOS-8.1.x86_64.iso c:\iso
ดังนั้น คุณจึงสามารถเชื่อมต่อกับเซิร์ฟเวอร์ SSH ได้โดยตรงจาก Windows 10 ของคุณ คัดลอกไฟล์โดยใช้ scp โดยไม่ต้องใช้แอปหรือเครื่องมือของบุคคลที่สาม