SSH (Secure Shell)คือโปรโตคอลที่ช่วยให้เราเข้าถึงคอมพิวเตอร์ระยะไกลได้อย่างปลอดภัย โดยพื้นฐานแล้วคล้ายกับ Telnet แต่ใช้ขั้นตอนวิธีเข้ารหัสที่ช่วยรักษาความปลอดภัยในการเชื่อมต่อของเรา โดยเฉพาะอย่างยิ่งหากเราต้องการเข้าถึงคอมพิวเตอร์ที่ทำหน้าที่สำคัญภายในองค์กร
โดยทั่วไปในการเข้าถึงเราจะต้องระบุชื่อผู้ใช้และที่อยู่ของคอมพิวเตอร์เพื่อให้เซิร์ฟเวอร์ SSH ขอรหัสผ่านในการเข้าถึง:
ssh usuario@equiporemoto
ตั้งแต่ช่วงเวลาที่ไคลเอนต์เริ่มการเชื่อมต่อครั้งแรกระหว่างคอมพิวเตอร์ระยะไกลกับเราข้อมูลก็เดินทางอย่างปลอดภัยป้องกันไม่ให้ใครบางคนได้รับข้อมูลรับรองการเข้าถึงของเราไปยังคอมพิวเตอร์เครื่องนั้นอย่างไรก็ตาม SSH เป็นโปรโตคอลที่ปรับเปลี่ยนได้มาก
SCP
สิ่งแรกคือสามารถถ่ายโอนไฟล์ระหว่างไคลเอนต์และคอมพิวเตอร์ระยะไกลโดยไม่จำเป็นต้องต่อเชื่อมเซิร์ฟเวอร์ FTP หรือ NFS เพียงแค่ใช้ SCP (Secure CoPy) ที่เซิร์ฟเวอร์ SSH ส่วนใหญ่ใช้:
scp archivo.tar.gz usuario@equiporemoto:/home/usuario
scp usuario@equiporemoto:/var/log/messages messages.txt
อุโมงค์ SSH
คุณลักษณะนี้มีประโยชน์มากเนื่องจากช่วยให้เราสามารถส่งและรับข้อมูลที่ไม่จำเป็นต้องเป็นคำสั่งเชลล์ระหว่างไคลเอนต์และคอมพิวเตอร์ระยะไกลเช่นการเรียกดูแบบธรรมดา หากคุณเดาไม่ออกว่าสิ่งนี้อาจมีประโยชน์อะไรให้คิดถึงสิ่งต่อไปนี้: คุณต้องเข้าถึงเพจ แต่สถานที่ที่คุณอยู่มีไฟร์วอลล์ติดตั้งใช้งานซึ่งบล็อกหน้านั้นอย่างแม่นยำดังนั้นเราสามารถทำ 'อุโมงค์' ด้วยรีโมทได้ คอมพิวเตอร์ที่ไม่มีการบล็อกและเรียกดูหน้าดังกล่าวผ่านเซสชัน SSH ของเรา:
ssh -D 8888 usuario@equiporemoto
เมื่อเชื่อมต่อแล้วไคลเอนต์ SSH ของเราจะ 'รับฟัง' บนพอร์ต 8888 เป็นพร็อกซีเซิร์ฟเวอร์เพื่อให้เราสามารถกำหนดค่าเบราว์เซอร์ของเราและการรับส่งข้อมูลทั้งหมดจะถูกส่งผ่านเซสชัน SSH
อีกตัวอย่างหนึ่งที่เกิดขึ้นกับฉันคือเมื่อเนื่องจากข้อ จำกัด ทางภูมิศาสตร์บางประการเราไม่สามารถเข้าถึงบริการเว็บจากที่ที่เราอยู่ได้เมื่อสร้างอุโมงค์บริการเว็บดังกล่าวตรวจพบ IP ของเซิร์ฟเวอร์ระยะไกลของเราเป็นต้นทางไม่ใช่ IP ไคลเอ็นต์ของเรา สิ่งนี้ค่อนข้างเทียบเท่ากับ VPNs (Virtual Private Network)
ย้อนกลับ SSH
หากด้วยเหตุผลบางประการเราจำเป็นต้องเข้าถึงคอมพิวเตอร์ที่อยู่หลังไฟร์วอลล์และสิ่งนี้ไม่อนุญาตให้เราเปลี่ยนเส้นทางการรับส่งข้อมูล SSH ไปยังมันเราสามารถทำ 'ย้อนกลับ SSH' ในลักษณะที่คอมพิวเตอร์เชื่อมต่อกับเซิร์ฟเวอร์ SSH อื่น ที่เราสามารถเชื่อมต่อเพื่อเข้าถึงอุปกรณ์ที่อยู่เบื้องหลังไฟร์วอลล์ ตัวอย่างที่ควรคำนึงถึงคือเมื่อเราต้องการช่วยเพื่อนที่ไม่รู้ว่าจะกำหนดค่าการเปลี่ยนเส้นทางบนโมเด็มของเขาอย่างไร แต่เราจำเป็นต้องเข้าถึงคอมพิวเตอร์ของเขาจากระยะไกล:
เพื่อน -> โมเด็ม -> เซิร์ฟเวอร์ SSH <- เกี่ยวกับเรา
ขั้นตอนในการปฏิบัติตามนั้นค่อนข้างง่ายมาก:
Amigo
ssh -R 9999:localhost:22 usuario@servidorssh
เรา
ssh usuario@servidorssh
เมื่ออยู่ในเซิร์ฟเวอร์ SSH เราสามารถเชื่อมต่อกับทีมของเพื่อนโดยใช้ไฟล์
ssh amigo@localhost -p 9999
อย่างที่คุณเห็นความมหัศจรรย์ทั้งหมดอยู่ในพารามิเตอร์ -R ซึ่งจะบอกเซิร์ฟเวอร์ระดับกลางว่าบนพอร์ต 9999 คอมพิวเตอร์ของเพื่อนของเรากำลังฟังอยู่ในขณะนี้เป็นเซิร์ฟเวอร์
นี่เป็นเพียงความเป็นไปได้บางประการที่ SSH เสนอให้เรา แต่ฉันขอเชิญคุณให้ทดลองใช้งานเพิ่มเติมเช่น เราสามารถสร้างสคริปต์แบบไม่ต้องใส่ข้อมูลโดยใช้คีย์ RSA เปลี่ยนเส้นทาง X เซสชัน (โหมดกราฟิก) ไปยังสภาพแวดล้อมแบบกราฟิกของเราเพียงพูดถึงไม่กี่