Score:0

เกิดข้อผิดพลาดในการเชื่อมต่อ SSH หมดเวลาการเชื่อมต่อ

ธง cn

ฉันไม่สามารถเชื่อมต่อผ่าน SSH กับเซิร์ฟเวอร์ของฉันได้ และฉันไม่ทราบสาเหตุ

SSHD ทำงานและพอร์ตเปิดใน UFW ฉันพยายามเปลี่ยนพอร์ตแต่ปัญหายังคงอยู่ ลองใช้เครื่องและเครือข่ายที่แตกต่างกันด้วย

ถ้าฉันรีบูตเซิร์ฟเวอร์ บางครั้งฉันสามารถสร้างการเชื่อมต่อได้ แต่หลังจากนั้นไม่นาน ปัญหาก็กลับมาอีก

sshd_config ของฉัน:

# $OpenBSD: sshd_config,v 1.103 2018/04/09 20:41:22 tj ประสบการณ์ $

# นี่คือไฟล์การกำหนดค่าทั้งระบบของเซิร์ฟเวอร์ sshd ดู
# sshd_config(5) สำหรับข้อมูลเพิ่มเติม

# sshd นี้รวบรวมด้วย PATH=/usr/bin:/bin:/usr/sbin:/sbin

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

พอร์ต 1402
#AddressFamily ใด ๆ
#ฟังที่อยู่ 0.0.0.0
#ฟังที่อยู่ ::

#HostKey /etc/ssh/ssh_host_rsa_key
#HostKey /etc/ssh/ssh_host_ecdsa_key
#HostKey /etc/ssh/ssh_host_ed25519_key

# ยันต์และกุญแจ
#RekeyLimit ไม่มีค่าเริ่มต้น

#บันทึก
#SyslogFacility AUTH
LogLevel VERBOSE

# การรับรองความถูกต้อง:

#LoginGraceTime 2 ม
#PermitRootLogin ห้ามรหัสผ่าน
โหมดเข้มงวดใช่
#MaxAuthTries 6
#MaxSessions 10

#PubkeyAuthentication ใช่

# คาดว่า .ssh/authorized_keys2 จะถูกละเว้นโดยค่าเริ่มต้นในอนาคต
#AuthorizedKeysFile .ssh/authorized_keys .ssh/authorized_keys2

#AuthorizedPrincipalsไม่มีไฟล์

#AuthorizedKeysไม่มีคำสั่ง
#AuthorizedKeysCommandUser ไม่มีใคร

# เพื่อให้ใช้งานได้ คุณจะต้องมีคีย์โฮสต์ใน /etc/ssh/ssh_known_hosts
#HostbasedAuthentication เลขที่
# เปลี่ยนเป็น ใช่ หากคุณไม่เชื่อถือ ~/.ssh/known_hosts for
# การรับรองความถูกต้องตามโฮสต์
#IgnoreUserKnownHosts หมายเลข
# อย่าอ่านไฟล์ ~/.rhosts และ ~/.shosts ของผู้ใช้
#IgnoreRhosts ใช่

# หากต้องการปิดใช้งานรหัสผ่านข้อความธรรมดาแบบ Tunneled ให้เปลี่ยนเป็นไม่ที่นี่!
#PasswordAuthentication ใช่
หมายเลขใบอนุญาตว่างรหัสผ่าน

# เปลี่ยนเป็นใช่เพื่อเปิดใช้งานรหัสผ่านตอบกลับการท้าทาย (ระวังปัญหาเกี่ยวกับ
# โมดูลและเธรด PAM บางรายการ)
ChallengeResponseAuthentication ใช่

# ตัวเลือก Kerberos
#KerberosAuthentication เลขที่
#KerberosOrLocalPasswd ใช่
#KerberosTicketCleanup ใช่
#KerberosGetAFSToken หมายเลข

# ตัวเลือก GSSAPI
#GSSAPIAuthentication เลขที่
#GSSAPICleanupCredentials ใช่
#GSSAPIStrictAcceptorตรวจสอบว่าใช่
#GSSAPIKeyExchange หมายเลข

# ตั้งค่านี้เป็น 'ใช่' เพื่อเปิดใช้งานการตรวจสอบ PAM การประมวลผลบัญชี
# และการประมวลผลเซสชัน หากเปิดใช้งาน การรับรองความถูกต้องของ PAM จะ
# ได้รับอนุญาตผ่าน ChallengeResponseAuthentication และ
#การตรวจสอบรหัสผ่าน ขึ้นอยู่กับการกำหนดค่า PAM ของคุณ
# การตรวจสอบ PAM ผ่าน ChallengeResponseAuthentication อาจเลี่ยงผ่าน
# การตั้งค่าของ "PermitRootLogin โดยไม่ต้องใช้รหัสผ่าน"
# หากคุณต้องการให้บัญชี PAM และการตรวจสอบเซสชันทำงานโดยไม่ต้องใช้
# การตรวจสอบ PAM จากนั้นเปิดใช้งาน แต่ตั้งค่า PasswordAuthentication
# และ ChallengeResponseAuthentication เป็น 'ไม่'
ใช้ PAM ใช่

#AllowAgentForwarding ใช่
อนุญาตให้ Tcp ส่งต่อหมายเลข
#เกตเวย์พอร์ต #
X11หมายเลขการส่งต่อ
#X11DisplayOffset 10
#X11UseLocalhost ใช่
#PermitTTY ใช่
เลขที่พิมพ์
#PrintLastLog ใช่
#TCPKeepAlive ใช่
#ใบอนุญาตผู้ใช้สิ่งแวดล้อม เลขที่
#การบีบอัดล่าช้า
KeepAlive ใช่
ClientAliveInterval 90000
ClientAliveCountMax 2
ใช้หมายเลข DNS
#PidFile /var/run/sshd.pid
#MaxStartups 10:30:100
#อุโมงค์อนุญาตหมายเลข
#ChrootDirectory ไม่มี
#เวอร์ชันภาคผนวกไม่มี

# ไม่มีเส้นทางแบนเนอร์เริ่มต้น
#ไม่มีแบนเนอร์

# อนุญาตให้ไคลเอนต์ส่งผ่านตัวแปรสภาพแวดล้อมของสถานที่
ยอมรับEnv LANG LC_*

# ลบล้างค่าเริ่มต้นที่ไม่มีระบบย่อย
ระบบย่อย sftp /usr/lib/openssh/sftp-server

# ตัวอย่างของการตั้งค่าที่ลบล้างในแต่ละผู้ใช้
#Match ผู้ใช้ anoncvs
#X11หมายเลขการส่งต่อ
# AllowTcpForwarding เลขที่
#ใบอนุญาตTTYเลขที่
# เซิร์ฟเวอร์ ForceCommand cvs
PermitRootเข้าสู่ระบบหมายเลข
การตรวจสอบรหัสผ่านใช่

ฉันได้รับข้อผิดพลาดการหมดเวลาด้วย: ssh [email protected] -p 1402

และ nmap ตอบคำถามต่อไปนี้:

      user@linux:~$ nmap -p 1402 -Pn xx.xxx.xxx.xxx 
เริ่ม Nmap 7.70 ( https://nmap.org ) เวลา 2021-09-07 22:06 CEST
รายงานการสแกน Nmap สำหรับ xx.xxx.xxx.xxx
โฮสต์ขึ้น

บริการของรัฐพอร์ต
1402/tcp กรอง prm-sm-np

Nmap เสร็จสิ้น: 1 ที่อยู่ IP (1 โฮสต์ขึ้น) สแกนใน 6.99 วินาที

ความคิดบางอย่าง?

แก้ไข

การกำหนดค่า UFW

    user@localhost:~$ sudo ufw สถานะอย่างละเอียด
[sudo] รหัสผ่านสำหรับผู้ใช้: 
สถานะ: ใช้งานอยู่
การบันทึก: เปิด (ต่ำ)
ค่าเริ่มต้น: ปฏิเสธ (ขาเข้า), อนุญาต (ขาออก), ปิดใช้งาน (กำหนดเส้นทาง)
โปรไฟล์ใหม่: ข้าม

ถึงการดำเนินการจาก
-- ------ ----
1402/tcp จำกัดทุกที่                  
3000/tcp อนุญาตในทุกที่                  
9100/tcp อนุญาตในทุกที่                  
12798/tcp อนุญาตในทุกที่                  
6000/tcp อนุญาตในทุกที่                  
60000/tcp อนุญาตในทุกที่                  
1402/tcp (v6) จำกัดทุกที่ (v6)             
3000/tcp (v6) อนุญาตในทุกที่ (v6)             
9100/tcp (v6) อนุญาตในทุกที่ (v6)             
12798/tcp (v6) อนุญาตในทุกที่ (v6)             
6000/tcp (v6) อนุญาตในทุกที่ (v6)             
60000/tcp (v6) อนุญาตในทุกที่ (v6)     
Michael Hampton avatar
cz flag
ตรวจสอบไฟร์วอลล์ของคุณ
Shugui avatar
cn flag
เสร็จแล้ว UFW ก็ใช้ได้ และไฟร์วอลล์จากการโฮสต์ของฉันก็เช่นกัน
Michael Hampton avatar
cz flag
แต่คุณไม่ได้โพสต์สำเนาในโพสต์ของคุณ
Shugui avatar
cn flag
เพิ่มการกำหนดค่า UFW เปลี่ยนการกำหนดค่าพอร์ต 1402 จาก LIMIT IN เป็น ALLOW IN และยังคงไม่มีการเชื่อมต่อ
Michael Hampton avatar
cz flag
แล้วไฟร์วอลล์ตัวอื่นล่ะ?
George Y avatar
vn flag
ก่อนอื่นคุณควรตรวจสอบว่าพอร์ตเปิดอยู่หรือไม่ ลองเชื่อมต่อกับพอร์ตโดยใช้ `telnet' จากเครื่องของคุณ หากเข้าสู่โหมดโต้ตอบให้กด `Ctrl`+`]` เพื่อออก มิฉะนั้นจะไม่สามารถเข้าถึงพอร์ตได้ จากนั้นคุณควรตรวจสอบการตั้งค่าไฟร์วอลล์ทั้งหมด รวมถึงภายใน Linux ของคุณและภายนอก (บริการ Cloud บางอย่างจะตั้งค่าไฟร์วอลล์เริ่มต้นให้คุณ)
Shugui avatar
cn flag
@GeorgeY nmap ตอบได้ดีตามที่ฉันโพสต์ แต่ telnet (telnet xx.xxx.xxx.xx 1402) ตอบด้วย: ไม่สามารถเชื่อมต่อกับรีโมตโฮสต์: การเชื่อมต่อหมดเวลา เป็นไปได้อย่างไร? ไม่ใช่ผู้เชี่ยวชาญที่นี่
George Y avatar
vn flag
@Shugui ใช้ telnet บนเครื่องเดียวกัน และถ้าคุณยังไม่สามารถเปิดได้ แสดงว่าปัญหาอยู่ที่ `sshd` ของคุณ
Score:-1
ธง vn
KeepAlive ใช่
ClientAliveInterval 90000
ClientAliveCountMax 2

บรรทัดทั้งสามนี้ระบุว่าหากภายใน 90000*2 วินาที ไม่มีแพ็คเกจ TCP จากไคลเอนต์ มันจะตัดการเชื่อมต่อโดยอัตโนมัติ

นี่คือกลไกการป้องกันโดย SSH ไม่ว่าคุณจะเปลี่ยนพารามิเตอร์หรือใช้ Bitvise ssh Client แทน ซึ่งจะส่งแพ็คเกจ TCP Ping-Pong heartbeat ไปยังเซิร์ฟเวอร์โดยอัตโนมัติ

Michael Hampton avatar
cz flag
ทั้งหมดนี้เป็นความจริง แต่ไม่เกี่ยวข้องกับคำถามเลย
Shugui avatar
cn flag
ฉันเห็นด้วยกับ @MichaelHampton ฉันเปลี่ยนพารามิเตอร์เหล่านั้นในกรณีที่ปัญหาเกิดจากไคลเอนต์ ssh แต่ไม่ใช่ในกรณีนี้

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา