คำแนะนำในการใช้ SSH



ลองใช้เครื่องมือของเราเพื่อกำจัดปัญหา

สสส เป็นโปรโตคอลเครือข่ายที่ทำงานในคอนโซล ไคลเอนต์ SSH ที่ใช้บ่อยที่สุดคือ PuTTy ภาพด้านล่างแสดงเซสชัน SSH ที่จัดตั้งขึ้น ใช้งานง่ายและรวดเร็ว ผู้เชี่ยวชาญด้านไอทีส่วนใหญ่จัดการเครือข่ายทั้งหมดผ่าน SSH เพียงอย่างเดียวเนื่องจากความปลอดภัยและการเข้าถึงที่ง่าย / รวดเร็วในการดำเนินการดูแลระบบและการจัดการบนเซิร์ฟเวอร์ เซสชันทั้งหมดใน SSH ถูกเข้ารหัส - โปรโตคอลหลักสำหรับ SSH คือ SSH1 / SSH-1 และ SSH2 / SSH-2 SSH-2 เป็นแบบหลังปลอดภัยกว่า SSH-1 Linux OS มียูทิลิตี้ในตัวที่เรียกว่า Terminal เพื่อเข้าถึงคอนโซลและเครื่อง windows ต้องการ SSH Client (เช่น PuTTy)



ผงสำหรับอุดรู



การเข้าถึงโฮสต์ระยะไกลโดยใช้ SSH



ในการเข้าถึงโฮสต์ / เครื่องระยะไกลโดยใช้ SSH คุณจะต้องมีสิ่งต่อไปนี้:

ถึง) PuTTy (ไคลเอนต์ SSH ฟรี)
b) ชื่อผู้ใช้เซิร์ฟเวอร์ SSH
c) รหัสผ่านเซิร์ฟเวอร์ SSH
d) พอร์ต SSH ซึ่งโดยปกติจะเป็น 22 แต่เนื่องจาก 22 เป็นค่าเริ่มต้นจึงควรเปลี่ยนเป็นพอร์ตอื่นเพื่อหลีกเลี่ยงการโจมตีพอร์ตนี้

ในเครื่อง Linux ไฟล์ ชื่อผู้ใช้ root เป็นผู้ดูแลระบบโดยค่าเริ่มต้นและมีสิทธิ์ของผู้ดูแลระบบทั้งหมด

ใน Terminal คำสั่งต่อไปนี้จะเริ่มการเชื่อมต่อกับเซิร์ฟเวอร์

ssh root@192.168.1.1
โดยที่ root คือชื่อผู้ใช้และ 192.168.1.1 คือที่อยู่โฮสต์

นี่คือลักษณะของเทอร์มินัล:

ขั้ว

คำสั่งของคุณจะพิมพ์ตามหลังไฟล์ สัญลักษณ์ $ . สำหรับความช่วยเหลือเกี่ยวกับคำสั่งใด ๆ ในเทอร์มินัล / ผงสำหรับอุดรูให้ใช้ไวยากรณ์:

ผู้ชาย ssh
คำสั่งมนุษย์

man ตามด้วยคำสั่งใด ๆ จะส่งคืนคำแนะนำคำสั่งบนหน้าจอ

ดังนั้นสิ่งที่ฉันจะทำตอนนี้คือ SSH ใช้ PuTTy ใน Debian OS ของฉันที่ทำงานบน VMWare

แต่ก่อนที่จะทำเช่นนั้นฉันต้องเปิดใช้งาน SSH โดยเข้าสู่ระบบ VM Debian ของฉัน - หากคุณเพิ่งซื้อเซิร์ฟเวอร์จาก บริษัท โฮสติ้งคุณสามารถขอให้เปิดใช้ SSH ให้คุณได้

ในการเปิดใช้งาน ssh ให้ใช้
sudo /etc/init.d/ssh รีสตาร์ท

เนื่องจากฉันใช้ Ubuntu และไม่ได้ติดตั้ง ssh ดังนั้น
ในการติดตั้ง ssh ให้ใช้คำสั่งเหล่านี้
sudo apt-get install openssh-client
sudo apt-get install openssh-server

และนี่คือสิ่งที่ฉันได้รับเมื่อลงชื่อเข้าใช้ SSH ผ่าน PuTTy:

ssh

ตอนนี้นี่คือสิ่งที่ต้องใช้ในการตั้งค่า SSH และสร้างเซสชันผ่าน PuTTy - ด้านล่างนี้ฉันจะกล่าวถึงคุณสมบัติขั้นสูงขั้นพื้นฐานบางอย่างที่จะเริ่มอย่างช้าๆเพื่อให้คุณเห็นภาพรวมของสถานการณ์ทั้งหมดมากขึ้น

ไฟล์คอนฟิกูเรชัน ssh เริ่มต้นอยู่ที่: / etc / ssh / sshd_config
ในการดูไฟล์กำหนดค่าให้ใช้: แมว / etc / ssh / sshd_config
ในการแก้ไขไฟล์กำหนดค่าให้ใช้: vi / etc / ssh / sshd_config หรือ นาโน / etc / ssh / sshd_config

หลังจากแก้ไขไฟล์แล้วให้ใช้ CTRL + X และกดปุ่ม Y เพื่อบันทึกและออก (ตัวแก้ไขนาโน)

พอร์ต SSH สามารถเปลี่ยนได้จากไฟล์คอนฟิกูเรชันพอร์ตเริ่มต้นคือ 22 คำสั่งพื้นฐาน cat, vi และ nano จะทำงานสำหรับสิ่งอื่น ๆ เช่นกัน หากต้องการเรียนรู้เพิ่มเติมเกี่ยวกับคำสั่งโดยเฉพาะ ใช้ Google Search

หากคุณทำการเปลี่ยนแปลงใด ๆ กับไฟล์คอนฟิกูเรชันใด ๆ จำเป็นต้องรีสตาร์ทสำหรับบริการนั้น ต่อไปสมมติว่าตอนนี้เราต้องการเปลี่ยนพอร์ตดังนั้นสิ่งที่เรากำลังจะทำคือแก้ไขไฟล์ sshd_config และฉันจะใช้

นาโน / etc / ssh / sshd_config

พอร์ต ssh

คุณต้องเข้าสู่ระบบในฐานะผู้ดูแลระบบหรือใช้ sudo nano / etc / ssh / sshd_config เพื่อแก้ไขไฟล์ หลังจากแก้ไขแล้วให้เริ่มบริการ ssh ใหม่ sudo /etc/init.d/ssh รีสตาร์ท

หากคุณกำลังเปลี่ยนพอร์ตโปรดอนุญาตให้ใช้ใน IPTABLES ของคุณหากคุณกำลังใช้ไฟร์วอลล์เริ่มต้น

iptables -I INPUT -p tcp –dport 5000 -j ACCEPT
/etc/rc.d/init.d/iptables บันทึก

ค้นหา iptables เพื่อยืนยันว่าพอร์ตเปิดอยู่หรือไม่
iptables -nL | grep 5000

มีคำสั่งหลายอย่างในไฟล์คอนฟิกูเรชันดังที่กล่าวไว้ก่อนหน้านี้มีสองโปรโตคอลสำหรับ SSH (1 & 2) หากตั้งค่าเป็น 1 ให้เปลี่ยนเป็น 2

ด้านล่างนี้เป็นไฟล์กำหนดค่าของฉัน:

# แพ็คเกจสร้างไฟล์การกำหนดค่า
# ดู manpage sshd_config (5) สำหรับรายละเอียด

# พอร์ต IP และโปรโตคอลใดที่เรารับฟัง
พอร์ต 5000 แทนที่หมายเลข 22 ด้วยพอร์ต
# ใช้ตัวเลือกเหล่านี้เพื่อ จำกัด อินเทอร์เฟซ / โปรโตคอลที่ sshd จะผูกกับ
#ListenAddress ::
#ListenAddress 0.0.0.0
มาตรการ 2 แทนที่โปรโตคอล 1 ด้วย 2

อย่าลืมเริ่มบริการใหม่หลังจากทำการเปลี่ยนแปลง

รูทเป็นผู้ดูแลระบบและขอแนะนำให้ปิดการใช้งานมิฉะนั้นหากคุณเปิดการเชื่อมต่อระยะไกลคุณอาจตกเป็นเหยื่อของการโจมตีด้วยกำลังดุร้ายหรือช่องโหว่ ssh อื่น ๆ - เซิร์ฟเวอร์ Linux เป็นกล่องที่แฮกเกอร์ชื่นชอบมากที่สุด คำสั่ง เข้าสู่ระบบ ตั้งค่าการ จำกัด เวลาสำหรับผู้ใช้ในการเข้าสู่ระบบและตรวจสอบสิทธิ์หากผู้ใช้ไม่ดำเนินการการเชื่อมต่อจะปิดลงปล่อยให้เป็นค่าเริ่มต้น

# การรับรองความถูกต้อง:
เข้าสู่ระบบ GraceTime 120
PermitRootLogin เลขที่
StrictModes ใช่

คุณสมบัติที่ยอดเยี่ยมคือ การตรวจสอบคีย์ (PubkeyAuthentication) - คุณสมบัตินี้ช่วยให้คุณสามารถตั้งค่าการพิสูจน์ตัวตนโดยใช้คีย์เท่านั้นดังที่เราเห็นในเซิร์ฟเวอร์ Amazon EC3 คุณสามารถเข้าถึงเซิร์ฟเวอร์ได้โดยใช้คีย์ส่วนตัวเท่านั้นซึ่งมีความปลอดภัยสูง เพื่อให้สามารถใช้งานได้คุณจะต้องสร้างคู่คีย์และเพิ่มคีย์ส่วนตัวนั้นลงในเครื่องระยะไกลของคุณและเพิ่มคีย์สาธารณะลงในเซิร์ฟเวอร์เพื่อให้สามารถเข้าถึงได้โดยใช้คีย์นั้น

PubkeyAuthentication ใช่
AuthorizedKeysFile .ssh / Authorized_keys
RSAAuthentication ใช่
รหัสผ่าน

การดำเนินการนี้จะปฏิเสธรหัสผ่านใด ๆ และจะอนุญาตให้ผู้ใช้เข้าถึงด้วยคีย์เท่านั้น

ในเครือข่ายมืออาชีพคุณมักจะแจ้งให้ผู้ใช้ทราบว่าพวกเขาได้รับอนุญาตให้ทำอะไรและอะไรไม่ได้และข้อมูลที่จำเป็นอื่น ๆ

ไฟล์กำหนดค่าที่จะแก้ไขสำหรับแบนเนอร์คือ: / etc / motd
ในการเปิดไฟล์ในตัวแก้ไขให้พิมพ์: นาโน / etc / motd หรือ sudo / etc / motd

แก้ไขไฟล์เช่นเดียวกับที่คุณทำในแผ่นจดบันทึก

คุณยังสามารถวางแบนเนอร์ในไฟล์และอ้างอิงใน / etc / motd

เช่น: นาโน banner.txt จะสร้างไฟล์ banner.txt และเปิดโปรแกรมแก้ไขทันที

แก้ไขแบนเนอร์และ ctrl + x / y เพื่อบันทึก จากนั้นอ้างอิงในไฟล์ motd โดยใช้

แบนเนอร์ /home/users/appualscom/banner.txt หรืออะไรก็ตามเส้นทางไฟล์คือ

เช่นเดียวกับแบนเนอร์คุณยังสามารถเพิ่มข้อความก่อนพรอมต์การเข้าสู่ระบบไฟล์สำหรับแก้ไขคือ / etc / issue

SSH Tunneling

SSH Tunneling ช่วยให้คุณสามารถขุดอุโมงค์การรับส่งข้อมูลจากเครื่องในพื้นที่ของคุณไปยังเครื่องระยะไกล มันถูกสร้างขึ้นผ่านโปรโตคอล SSH และเข้ารหัส ตรวจสอบบทความเกี่ยวกับ SSH Tunneling

เซสชันกราฟิกผ่านอุโมงค์ SSH

เปิดใช้งานเซสชันกราฟิก / gui โดยยกเลิกการใส่ข้อคิดเห็นในบรรทัดต่อไปนี้
X11 ส่งต่อใช่

ในตอนท้ายของไคลเอ็นต์คำสั่งจะเป็น:
ssh -X root@10.10.10.111

คุณสามารถเรียกใช้โปรแกรมเช่น firefox เป็นต้นโดยใช้คำสั่งง่ายๆ:
firefox

หากคุณได้รับข้อผิดพลาดในการแสดงผลให้ตั้งค่าที่อยู่:
ส่งออก DISPLAY = IPaddressofmachine: 0.0

TCP Wrappers

หากคุณต้องการอนุญาตโฮสต์ที่เลือกและปฏิเสธบางโฮสต์ไฟล์เหล่านี้คือไฟล์ที่คุณต้องแก้ไข

1. /etc/hosts.allow
2. /etc/hosts.deny

เพื่อให้โฮสต์ไม่กี่คน

sshd: 10.10.10.111

หากต้องการบล็อกทุกคนไม่ให้เข้าสู่เซิร์ฟเวอร์ของคุณให้เพิ่มบรรทัดต่อไปนี้ใน /etc/hosts.deny
sshd: ทั้งหมด

SCP - สำเนาที่ปลอดภัย

SCP - Secure Copy คือยูทิลิตี้การโอนไฟล์ คุณจะต้องใช้คำสั่งต่อไปนี้เพื่อคัดลอก / โอนไฟล์ผ่าน ssh

คำสั่งด้านล่างจะคัดลอก myfile ไปยัง / home / user2 ในวันที่ 10.10.10.111
scp / home / user / myfile root@10.10.10.111: / home / user2
ไวยากรณ์ปลายทางต้นทาง scp

เพื่อคัดลอกโฟลเดอร์
scp –r / home / user / myfolder roor@10.10.10.111: / home / user2

การค้นหาไฟล์บนเครื่องระยะไกล

ง่ายมากในการค้นหาไฟล์บนเครื่องระยะไกลและดูผลลัพธ์ในระบบของคุณ เพื่อค้นหาไฟล์บนเครื่องระยะไกล

ssh root@10.10.10.111“ find / home / user –name '* .jpg'”

คำสั่งจะค้นหาใน / home / user directory สำหรับไฟล์ * .jpg ทั้งหมดคุณสามารถเล่นได้ find / -name จะค้นหาไดเร็กทอรี / root ทั้งหมด

SSH ความปลอดภัยเพิ่มเติม

iptables ช่วยให้คุณกำหนดข้อ จำกัด ตามเวลา คำสั่งด้านล่างนี้จะบล็อกผู้ใช้เป็นเวลา 120 วินาทีหากไม่สามารถตรวจสอบสิทธิ์ได้ คุณสามารถใช้พารามิเตอร์ / วินาที / ชั่วโมง / นาทีหรือ / วันในคำสั่งเพื่อระบุช่วงเวลา ..

ขีด จำกัด ตามเวลา
iptables -A INPUT -p tcp -m state --syn --state ใหม่ - พอร์ต 22 -m ขีด จำกัด - จำกัด 120 / วินาที - จำกัด - ระเบิด 1 -j ยอมรับ

iptables -A INPUT -p tcp -m state –syn -state ใหม่ - พอร์ต 5000 -j DROP

5000 คือพอร์ตเปลี่ยนตามการตั้งค่าของคุณ .

อนุญาตให้ตรวจสอบสิทธิ์จาก IP เฉพาะ
iptables -A INPUT -p tcp -m state --state ใหม่ - แหล่งที่มา 10.10.10.111 –dport 22 -j ยอมรับ

คำสั่งที่มีประโยชน์อื่น ๆ

แนบหน้าจอผ่าน SSH
ssh -t root@10.10.10.111 หน้าจอ –r
ตรวจสอบความเร็วการโอน SSH
ใช่ | pv | ssh $root@10.10.10.111“ cat> / dev / null”

แท็ก ssh SSH Tunneling อ่าน 4 นาที