A day with Scandale - Harmonie Collection - Spring / Summer 2013
สารบัญ:
- การติดตั้งไคลเอนต์ OpenSSH
- การติดตั้งไคลเอ็นต์ OpenSSH บน Linux
- การติดตั้ง OpenSSH บน Ubuntu และ Debian
- การติดตั้ง OpenSSH บน CentOS และ Fedora
- การติดตั้งไคลเอ็นต์ OpenSSH บน Windows 10
- การติดตั้ง OpenSSH Client บน macOS
- วิธีการใช้คำสั่ง
ssh
- ไฟล์กำหนดค่า SSH
- การส่งต่อพอร์ต
- การส่งต่อพอร์ตท้องถิ่น
- การส่งต่อพอร์ตระยะไกล
- การส่งต่อพอร์ตแบบไดนามิก
- ข้อสรุป
Secure Shell (SSH) เป็นโปรโตคอลเครือข่ายเข้ารหัสลับที่ใช้สำหรับการเชื่อมต่อที่เข้ารหัสระหว่างไคลเอนต์และเซิร์ฟเวอร์ ไคลเอ็นต์ ssh สร้างการเชื่อมต่อที่ปลอดภัยไปยังเซิร์ฟเวอร์ SSH บนเครื่องระยะไกล การเชื่อมต่อที่เข้ารหัสสามารถใช้เพื่อดำเนินการคำสั่งบนเซิร์ฟเวอร์การขุด X11 การส่งต่อพอร์ตและอื่น ๆ
มีลูกค้า SSH จำนวนมากที่มีทั้งฟรีและเชิงพาณิชย์โดย OpenSSH เป็นลูกค้าที่ใช้กันอย่างแพร่หลายที่สุด มันมีอยู่ในแพลตฟอร์มที่สำคัญทั้งหมดรวมถึง Linux, OpenBSD, Windows, macOS และอื่น ๆ
เราจะอธิบายวิธีใช้ไคลเอนต์บรรทัดคำสั่ง OpenSSH (
ssh
) เพื่อเข้าสู่เครื่องระยะไกลและเรียกใช้คำสั่งหรือดำเนินการอื่น ๆ
การติดตั้งไคลเอนต์ OpenSSH
โปรแกรมไคลเอนต์ OpenSSH เรียกว่า
ssh
และสามารถเรียกใช้จากเทอร์มินัล แพ็กเกจไคลเอ็นต์ OpenSSH ยังจัดเตรียมยูทิลีตี SSH อื่น ๆ เช่น
scp
และ
sftp
ที่ติดตั้งพร้อมกับคำสั่ง
ssh
การติดตั้งไคลเอ็นต์ OpenSSH บน Linux
ไคลเอ็นต์ OpenSSH ได้รับการติดตั้งไว้ล่วงหน้าในลีนุกซ์รุ่นส่วนใหญ่เป็นค่าเริ่มต้น หากระบบของคุณไม่ได้ติดตั้งไคลเอ็นต์ ssh คุณสามารถติดตั้งได้โดยใช้ตัวจัดการแพ็คเกจของการแจกจ่ายของคุณ
การติดตั้ง OpenSSH บน Ubuntu และ Debian
sudo apt update
sudo apt install openssh-client
การติดตั้ง OpenSSH บน CentOS และ Fedora
sudo dnf install openssh-clients
การติดตั้งไคลเอ็นต์ OpenSSH บน Windows 10
ผู้ใช้ Windows ส่วนใหญ่ใช้ Putty เพื่อเชื่อมต่อกับเครื่องระยะไกลผ่าน SSH อย่างไรก็ตาม Windows 10 เวอร์ชันล่าสุดรวมถึงไคลเอนต์และเซิร์ฟเวอร์ OpenSSH แพ็คเกจทั้งสองสามารถติดตั้งผ่าน GUI หรือ PowerShell
ในการค้นหาชื่อที่แน่นอนของแพ็คเกจ OpenSSH ให้พิมพ์คำสั่งต่อไปนี้:
Get-WindowsCapability -Online | ? Name -like 'OpenSSH*'
คำสั่งควรส่งคืนสิ่งนี้:
Name: OpenSSH.Client~~~~0.0.1.0 State: NotPresent Name: OpenSSH.Server~~~~0.0.1.0 State: NotPresent
เมื่อคุณทราบชื่อแพคเกจติดตั้งโดยการเรียกใช้:
Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0
ในความสำเร็จผลลัพธ์จะมีลักษณะดังนี้:
Path: Online: True RestartNeeded: False
การติดตั้ง OpenSSH Client บน macOS
macOS มาพร้อมกับไคลเอนต์ OpenSSH ที่ติดตั้งโดยค่าเริ่มต้น
วิธีการใช้คำสั่ง
ssh
ต้องปฏิบัติตามข้อกำหนดต่อไปนี้เพื่อให้สามารถลงชื่อเข้าใช้เครื่องระยะไกลผ่าน SSH:
- เซิร์ฟเวอร์ SSH ต้องทำงานบนเครื่องระยะไกลพอร์ต SSH ต้องเปิดในไฟร์วอลล์ของเครื่องระยะไกลคุณต้องทราบชื่อผู้ใช้และรหัสผ่านของบัญชีระยะไกล บัญชีต้องมีสิทธิ์ที่เหมาะสมสำหรับการเข้าสู่ระบบจากระยะไกล
ไวยากรณ์พื้นฐานของคำสั่ง
ssh
มีดังนี้:
ssh:HOST
ในการใช้คำสั่ง
ssh
ให้เปิด Terminal หรือ PowerShell ของคุณแล้วพิมพ์
ssh
ตามด้วยชื่อโฮสต์ระยะไกล:
ssh ssh.linuxize.com
เมื่อคุณเชื่อมต่อกับเครื่องระยะไกลผ่าน SSH เป็นครั้งแรกคุณจะเห็นข้อความดังนี้
The authenticity of host 'ssh.linuxize.com (192.168.121.111)' can't be established. ECDSA key fingerprint is SHA256:Vybt22mVXuNuB5unE++yowF7lgA/9/2bLSiO3qmYWBY. Are you sure you want to continue connecting (yes/no)?
แต่ละโฮสต์มีลายนิ้วมือที่ไม่ซ้ำกันซึ่งเก็บอยู่ในไฟล์
~/.ssh/known_hosts
พิมพ์
yes
เพื่อเก็บลายนิ้วมือจากระยะไกลและคุณจะได้รับแจ้งให้ป้อนรหัสผ่านของคุณ
Warning: Permanently added 'ssh.linuxize.com' (ECDSA) to the list of known hosts. [email protected]'s password:
เมื่อคุณป้อนรหัสผ่านคุณจะเข้าสู่เครื่องระยะไกล
เมื่อไม่ได้ระบุชื่อผู้ใช้คำสั่ง
ssh
จะใช้ชื่อล็อกอินระบบปัจจุบัน
ในการเข้าสู่ระบบในฐานะผู้ใช้อื่นให้ระบุชื่อผู้ใช้และโฮสต์ในรูปแบบต่อไปนี้:
ssh username@hostname
ชื่อผู้ใช้สามารถระบุได้ด้วยตัวเลือก
-l
:
ssh -l username hostname
ตามค่าเริ่มต้นเมื่อไม่มีการระบุพอร์ตไคลเอ็นต์ SSH จะพยายามเชื่อมต่อกับเซิร์ฟเวอร์ระยะไกลบนพอร์ต 22 ในบางเซิร์ฟเวอร์ผู้ดูแลระบบกำลังเปลี่ยนพอร์ต SSH เริ่มต้นเพื่อเพิ่มเลเยอร์ความปลอดภัยพิเศษให้กับเซิร์ฟเวอร์โดยลดความเสี่ยงของ การโจมตีอัตโนมัติ
ในการเชื่อมต่อกับพอร์ตที่ไม่ใช่ค่าเริ่มต้นให้ใช้ตัวเลือก
-p
เพื่อระบุพอร์ต:
ssh -p 5522 username@hostname
ssh -v username@hostname
หากต้องการเพิ่มระดับของ verbosity ให้ใช้
-vvv
หรือ
-vvv
คำสั่ง
ssh
ยอมรับจำนวนของตัวเลือก
สำหรับรายการตัวเลือกทั้งหมดให้อ่านหน้า man
ssh
โดยพิมพ์
man ssh
ในเทอร์มินัลของคุณ
ไฟล์กำหนดค่า SSH
ไคลเอนต์ OpenSSH อ่านตัวเลือกที่ตั้งไว้ในไฟล์กำหนดค่าต่อผู้ใช้ (
~/.ssh/config
) ในไฟล์นี้คุณสามารถเก็บตัวเลือก SSH ที่แตกต่างกันสำหรับเครื่องรีโมตแต่ละเครื่องที่คุณเชื่อมต่อ
ตัวอย่าง SSH config แสดงไว้ด้านล่าง:
Host dev HostName dev.linuxize.com User mike Port 4422
เมื่อคุณเรียกใช้ไคลเอ็นต์ ssh โดยพิมพ์
ssh dev
คำสั่งจะอ่านไฟล์
~/.ssh/config
และใช้รายละเอียดการเชื่อมต่อที่ระบุไว้สำหรับโฮสต์ dev ในตัวอย่างนี้
ssh dev
เทียบเท่ากับสิ่งต่อไปนี้:
ssh -p 4422 [email protected]
สำหรับข้อมูลเพิ่มเติมให้ตรวจสอบบทความในไฟล์กำหนดค่า SSH
การพิสูจน์ตัวตนกุญแจสาธารณะ
โปรโตคอล SSH สนับสนุนกลไกการรับรองความถูกต้องต่างๆ
กลไกการพิสูจน์ตัวตนแบบพับลิกคีย์อนุญาตให้คุณล็อกอินเข้าสู่รีโมตเซิร์ฟเวอร์โดยไม่ต้องพิมพ์รหัสผ่านของคุณ
วิธีนี้ใช้ได้โดยการสร้างคีย์การเข้ารหัสคู่ที่ใช้สำหรับการตรวจสอบความถูกต้อง ไพรเวตคีย์ถูกเก็บไว้ในอุปกรณ์ไคลเอนต์และคีย์สาธารณะจะถูกถ่ายโอนไปยังเซิร์ฟเวอร์ระยะไกลแต่ละเครื่องที่คุณต้องการเข้าสู่ระบบเซิร์ฟเวอร์ระยะไกลจะต้องกำหนดค่าให้ยอมรับการตรวจสอบคีย์
ssh-keygen -t rsa -b 4096 -C "[email protected]"
คุณจะถูกขอให้พิมพ์ข้อความรหัสผ่านที่ปลอดภัย ไม่ว่าคุณต้องการใช้ข้อความรหัสผ่านมันขึ้นอยู่กับคุณ
เมื่อคุณมีคู่กุญแจของคุณให้คัดลอกกุญแจสาธารณะไปยังเซิร์ฟเวอร์ระยะไกล:
ssh-copy-id username@hostname
ป้อนรหัสผ่านผู้ใช้ระยะไกลและกุญแจสาธารณะจะถูกผนวกเข้ากับไฟล์
authorized_keys
ผู้ใช้ระยะไกล
เมื่ออัปโหลดคีย์แล้วคุณสามารถเข้าสู่เซิร์ฟเวอร์ระยะไกลได้โดยไม่ต้องใส่รหัสผ่าน
ด้วยการตั้งค่าการพิสูจน์ตัวตนแบบใช้คีย์คุณสามารถทำให้กระบวนการล็อกอินง่ายขึ้นและเพิ่มความปลอดภัยเซิร์ฟเวอร์โดยรวม
การส่งต่อพอร์ต
SSH tunneling หรือการส่งต่อพอร์ต SSH เป็นวิธีการสร้างการเชื่อมต่อ SSH ที่เข้ารหัสระหว่างไคลเอนต์และเครื่องเซิร์ฟเวอร์ผ่านพอร์ตบริการที่สามารถถ่ายทอด
การส่งต่อ SSH มีประโยชน์สำหรับการถ่ายโอนข้อมูลเครือข่ายของบริการที่ใช้โปรโตคอลที่ไม่ได้เข้ารหัสเช่น VNC หรือ FTP การเข้าถึงเนื้อหาที่ถูก จำกัด ทางภูมิศาสตร์หรือการข้ามไฟร์วอลล์กลาง โดยทั่วไปคุณสามารถส่งต่อพอร์ต TCP ใด ๆ และสร้างอุโมงค์การรับส่งข้อมูลผ่านการเชื่อมต่อ SSH ที่ปลอดภัย
การส่งต่อพอร์ต SSH มีสามประเภท:
การส่งต่อพอร์ตท้องถิ่น
การส่งต่อพอร์ตท้องถิ่นช่วยให้คุณสามารถส่งต่อการเชื่อมต่อจากโฮสต์ไคลเอนต์ไปยังโฮสต์เซิร์ฟเวอร์ SSH แล้วไปยังพอร์ตโฮสต์ปลายทาง
ในการสร้างการส่งต่อพอร์ตโลคัลผ่านอ็อพชัน
-L
ไปยังไคลเอ็นต์
ssh
:
ssh -L LOCAL_PORT:DESTINATION_HOST:DESTINATION_PORT -N -f username@hostname
ตัวเลือก -f บอกให้คำสั่ง
ssh
ทำงานในพื้นหลังและ
-N
จะไม่ดำเนินการคำสั่งระยะไกล
การส่งต่อพอร์ตระยะไกล
การส่งต่อพอร์ตระยะไกลเป็นสิ่งที่ตรงกันข้ามกับการส่งต่อพอร์ตท้องถิ่น ส่งต่อพอร์ตจากโฮสต์เซิร์ฟเวอร์ไปยังโฮสต์ไคลเอ็นต์จากนั้นไปยังพอร์ตโฮสต์ปลายทาง
ตัวเลือก
-L
บอกให้
ssh
สร้างการส่งต่อพอร์ตระยะไกล:
ssh -R REMOTE_PORT:DESTINATION:DESTINATION_PORT -N -f username@hostname
การส่งต่อพอร์ตแบบไดนามิก
การส่งต่อพอร์ตแบบไดนามิกสร้างพร็อกซีเซิร์ฟเวอร์ SOCKS ที่อนุญาตการสื่อสารข้ามช่วงของพอร์ต
ในการสร้างการส่งต่อพอร์ตไดนามิก (SOCKS) ให้ส่งตัวเลือก
-D
ไปยังไคลเอ็นต์ ssh:
ssh -D LOCAL_PORT -N -f username@hostname
สำหรับข้อมูลรายละเอียดเพิ่มเติมและคำแนะนำทีละขั้นตอนให้ตรวจสอบบทความเกี่ยวกับวิธีตั้งค่า SSH Tunneling (การส่งต่อพอร์ต)
ข้อสรุป
ในการเชื่อมต่อกับเซิร์ฟเวอร์ระยะไกลผ่าน SSH ให้ใช้คำสั่ง
ssh
ตามด้วยชื่อผู้ใช้และชื่อโฮสต์ระยะไกล (
ssh username@hostname
)
การรู้วิธีใช้คำสั่ง
ssh
เป็นสิ่งจำเป็นสำหรับการจัดการรีโมตเซิร์ฟเวอร์
คำสั่ง Cyber Command Secret Cracked

รหัสที่เข้ารหัสของ United States Cyber Command ซึ่งตั้งอยู่บนตราประทับอย่างเป็นทางการได้รับการแตกและเผยให้เห็นข้อความธรรมดามาก
Google เปิดตัวฟีเจอร์ใหม่สองรุ่นสำหรับโทรศัพท์ Android ที่ใช้ Froyo ขั้นแรกมีโหลดคำสั่งเสียงใหม่เปิดใช้งานโดยการแตะปุ่มไมโครโฟนในวิดเจ็ตการค้นหาซอฟต์แวร์หรือกดปุ่มค้นหาฮาร์ดแวร์ "โน้ตกับตัวเอง" (Norm Macdonald ควรจะพอใจ) หรือโทรหาธุรกิจโดยใช้ชื่อโดยไม่ได้มองหาหมายเลขก่อน คำสั่ง "listen to" จะแสดงรายการแอพพลิเคชันบนเว็บเช่น Last.fm และ Pandora แต่ดูเหมือนว่าจะไม่ทำงานร่วมกับไลบรารีเพลงบนบอร์ดของคุณ

นี่คือรายการคำสั่งทั้งหมดที่คุณสามารถทำได้ ป้อนโดยเสียงนอกเหนือจากการค้นหาเว็บตามปกติ:
3 คำสั่ง Windows ที่ต้องการคำแนะนำที่คุณต้องการทราบ!

คุณไม่เคยได้ยินคำเหล่านี้ที่รู้จักกันในชื่อ "Geeky Run commands" สำหรับ Windows 8/7 / Vista สร้างความประทับใจให้กับเพื่อน เรียกใช้เพื่อเปิดไดรฟ์ระบบและโฟลเดอร์ผู้ใช้ของคุณ