ฉันเปลี่ยนพอร์ต SSH เริ่มต้นของฉันบนเซิร์ฟเวอร์ภายในบ้าน (ใน/etc/ssh/sshd_config
ไฟล์) เป็นพอร์ต 54747 จากนั้นรีสตาร์ทssh
และsshd
บริการ (ไม่แน่ใจว่าอันไหนดังนั้นฉันทำทั้งสองอย่างให้ปลอดภัย) เพื่อทดสอบการกำหนดค่าของฉันฉันออกจากระบบแล้วกลับเข้ามาใหม่โดยไม่มีปัญหาใด ๆ
สองสามวันต่อมาฉันติดตั้งโปรแกรมปรับปรุง apt แล้วรีบูตเซิร์ฟเวอร์ของฉัน เมื่อฉันพยายามที่จะ SSH กลับมา (บนพอร์ต 54747) ฉันได้รับการเชื่อมต่อปฏิเสธข้อผิดพลาด
ด้วยเหตุผลบางอย่างฉันพยายาม SSH บนพอร์ตเริ่มต้นและใช้งานได้! ฉันกลับไปตรวจสอบ sshd_config แต่ก็ยังมีพอร์ตที่กำหนดเอง ดังนั้นฉันเริ่มต้นใหม่ssh
และsshd
บริการและได้กลับไปที่พฤติกรรม "ปกติ" (ssh บนพอร์ต 54747) ฉันลองรีบูตอีกครั้งและการเชื่อมต่อถูกปฏิเสธอีกครั้ง ...
มีใครรู้บ้างว่าฉันทำผิดอะไร
รายละเอียดเพิ่มเติม:
- Ubuntu 16.04.2 LTS
- เซิร์ฟเวอร์ยังใช้ HTPC ด้วยเซสชันเปิด (ผู้ใช้เดียวกันกับ SSH) บนทีวีของฉัน
- ฉัน SSH ใช้คีย์ RSA ของแล็ปท็อปและปิดการใช้รหัสผ่านรับรองความถูกต้อง
- ฉันเคยรีบูทด้วย
sudo reboot -h now
แต่หลังจากค้นหาแล้วฉันพบว่าบางคนท้อแท้ดังนั้นฉันจึงลองsudo reboot
แต่ก็ไม่ต่างกัน
แก้ไข ลำดับเหตุการณ์:
- เปลี่ยนพอร์ต SSH จาก 22 เป็น 54747 ใน
/etc/ssh/sshd_config
- เริ่มบริการ ssh และ sshd ใหม่
- สิ้นสุดเซสชัน SSH ปัจจุบัน
- SSH กลับเข้ามาในพอร์ต 54747 สำเร็จ
- Reboot
- ข้อผิดพลาดการเชื่อมต่อ SSH บนพอร์ต 54747 แต่สำเร็จในพอร์ต 22
- เริ่มบริการ ssh และ sshd ใหม่
- SSH กลับเข้าที่พอร์ต 54747 สำเร็จข้อผิดพลาดในการเชื่อมต่อที่พอร์ต 22
- รีบูทแล้วย้อนกลับไปที่ 6
แก้ไข 1: netstat
เอาต์พุต
rgo@ATLAS:~$ sudo netstat -lntp | grep :54747
rgo@ATLAS:~$ sudo netstat -lntp | grep :22
tcp6 0 0 :::22 :::* LISTEN 1/init
แก้ไข 2: service sshd status
● ssh.service - OpenBSD Secure Shell server
Loaded: loaded (/lib/systemd/system/ssh.service; enabled; vendor preset: enabled)
Active: inactive (dead)
แก้ไข 3: lsof -i | grep ssh
systemd 1 root 46u IPv6 42724 0t0 TCP ATLAS:ssh->192.168.1.27:49837 (ESTABLISHED)
systemd 1 root 49u IPv6 14641 0t0 TCP *:ssh (LISTEN)
sshd 4088 root 3u IPv6 42724 0t0 TCP ATLAS:ssh->192.168.1.27:49837 (ESTABLISHED)
sshd 4088 root 4u IPv6 42724 0t0 TCP ATLAS:ssh->192.168.1.27:49837 (ESTABLISHED)
sshd 4202 rgo 3u IPv6 42724 0t0 TCP ATLAS:ssh->192.168.1.27:49837 (ESTABLISHED)
sshd 4202 rgo 4u IPv6 42724 0t0 TCP ATLAS:ssh->192.168.1.27:49837 (ESTABLISHED)
สำหรับการอ้างอิง ATLAS เป็นชื่อโฮสต์เซิร์ฟเวอร์ระยะไกล 192.168.1.27 คือ LAN IP ของแล็ปท็อปของฉันและคำสั่งถูกเรียกใช้ระหว่างขั้นตอนที่ 6 และ 7
ufw status
Status: inactive
แก้ไข 4: ps -ef |grep sshd
root 4088 1 0 22:40 ? 00:00:00 sshd: rgo [priv]
rgo 4202 4088 0 22:40 ? 00:00:00 sshd: rgo@pts/1 sshd
Port 10285
ลองมีค่าแตกต่างกันเช่น Google แสดงผลลัพธ์สองสามรายการสำหรับ 54747 ... (3) นอกจากนี้เซิร์ฟเวอร์ SSH สามารถทำงานกับหลายพอร์ตพร้อมกันได้ สร้างสองคำสั่งแยกกันสำหรับแต่ละพอร์ต: Port 22
และPort 54747
จากนั้นเปิดเฉพาะที่สองในไฟร์วอลล์ (4) คุณสามารถลองMatch LocalPort
สั่งsshd_c
ที่วางไว้ในจุดเริ่มต้นของ