บางครั้งเซสชัน ssh ของฉันในเทอร์มินัลหยุดทำงาน ฉันจะออกจากเซสชัน ssh และเชื่อมต่อใหม่ได้อย่างไร
บางครั้งเซสชัน ssh ของฉันในเทอร์มินัลหยุดทำงาน ฉันจะออกจากเซสชัน ssh และเชื่อมต่อใหม่ได้อย่างไร
คำตอบ:
พิมพ์~.
(เช่นตัวหนอนระยะเวลา) ที่จุดเริ่มต้นของบรรทัด ในคำอื่น ๆ กดEnterแล้วแล้ว~ .(ในบางภาษาคุณอาจต้องกดShiftหรือAltเพื่อป้อน~
อักขระ)
โดยทั่วไปแล้ว~
ตัวละครจะเป็นตัวหนีในเซสชัน SSH เมื่อคุณพิมพ์ที่จุดเริ่มต้นของบรรทัด พิมพ์Enterจากนั้น~?
เพื่อดูรายการคำสั่ง escape คนที่พบมากที่สุดคือ
~.
เพื่อยุติการเชื่อมต่อ~^Z
(กด~จากนั้นCtrl+ Z) เพื่อหยุดการเชื่อมต่อและพิมพ์คำสั่งภายใน (เรียกใช้คำสั่งfg
เพื่อกลับไปที่เซสชัน SSH)หากคุณต้องการเครื่องหมายตัวหนอนที่จุดเริ่มต้นของบรรทัดให้กด~สองครั้ง
สิ่งที่คุณต้องทำเพื่อออกจากเซสชัน ssh คือพิมพ์exit
ที่พรอมต์
ลองป้อนShift+ `+.
~.
คุณจะสามารถเรียนรู้เพิ่มเติมได้ในmanpage SSH (มากกว่าครึ่งทาง) และโดยพิมพ์: ~?
ลงในเซสชัน SSH ที่ใช้งาน / เชื่อมต่ออีกครั้งคุณอาจมี เพื่อกด Enter หนึ่งครั้งก่อน
หากเซสชั่นของคุณไม่ทำงานและพรอมต์ไม่ตอบสนองอีกต่อไปคุณสามารถฆ่าอินสแตนซ์ของเทอร์มินัลและกระบวนการลูกทั้งหมดที่เชื่อมโยงกับอินสแตนซ์นั้นซึ่งเซสชั่น ssh ของคุณเป็นหนึ่ง
หากคุณต้องการอย่างถี่ถ้วนแม้ว่าคุณจะสามารถเปิดอินสแตนซ์ Terminal ใหม่ให้ค้นหาเซสชัน ssh ในรายการกระบวนการและฆ่าพวกเขาผ่านบรรทัดคำสั่ง:
> ps -ef |grep ssh
501 1332 142 0 20Dec11 ?? 0:01.33 /usr/bin/ssh-agent -l
501 57172 57150 0 1:58pm ttys000 0:00.01 grep ssh
501 57139 57133 0 1:57pm ttys002 0:00.03 ssh -i/Users/ian/code/ec2-keys/id_rsa-gsg-keypair someuser@someinstance.amazonaws.com
> kill 57139
หากไม่ได้ผลลอง:
> kill -9 57139
อย่าฆ่าssh-agent
กระบวนการ
หรือคุณสามารถเปิดการตรวจสอบกิจกรรมและค้นหาเซสชันและกดปุ่มฆ่าที่นั่น:
~.
ใช้ ดูด้านบน.
~ ใช้งานได้แม้ว่าดูเหมือนว่าจะติดอยู่ทั้งหมดหยุดการเชื่อมต่อ ssh และคุณสามารถเริ่มต้นอีกครั้ง แต่ในแป้นพิมพ์ของฉันฉันต้องกด Alt + ~ จากนั้นเว้นวรรคแล้ว
broken-pipe
แต่ฉันไม่รอ