Ssh kilitlendiğinde nasıl çıkabilirim?

341

Sık sık okulumdaki evime girerim, fakat genellikle sınıfları değiştirdiğimde ve bilgisayarım askıya alındığında, boru kırılır. Ancak, ssh basitçe kilitler - Ctrl + c , Ctrl + z ve Ctrl + d 'nin etkisi yoktur.

Terminalimi yeniden başlatmak zorunda kaldığım için can sıkıcı ve yeni bir ekran penceresini kapatmak ve yeniden oluşturmak zorunda kalmak daha da sinir bozucu.

Bu yüzden sorum, ssh'in düzgün bir şekilde kalıplanmasını kolay bir yolu var mı (yani boru başarısız olduğunda "normalde" bir kırık boruyla ilgili bir mesajla çıkacak)? Ya da PID'nin ne olduğunu anlaması ve onu manuel olarak öldürmem gerekiyor mu?

    
sordu Wayne Werner 11.03.2011 17:22

3 cevap

475

Normal anahtarlar ssh oturumu üzerinden iletilir, dolayısıyla bunların hiçbiri çalışmaz. Bunun yerine, çıkış sıralarını kullanın. Geçerli oturumu sonlandırmak için Enter ↵ , ~ , . .

Bu çıkış dizilerinin daha fazlası Enter ↵ , ~ , ? ile listelenebilir:

Supported escape sequences:
  ~.  - terminate session
  ~B  - send a BREAK to the remote system
  ~R  - Request rekey (SSH protocol 2 only)
  ~#  - list forwarded connections
  ~?  - this message
  ~~  - send the escape character by typing it twice
(Note that escapes are only recognized immediately after newline.)

girişine basarak Escape dizilerinin listesini kapatabilirsiniz.

~ ~ tuşuna basılmasının ssh 'i durdurmak yerine ~ ' e gönderdiğinden, N iç içe geçebildiğinize dikkat edin. ssh bağlantısı ~ N çarpı. (Bu sadece ~ için geçerlidir. 'yi doğrudan takip eder.) Yani ~ < . ssh oturumunu 5 kat derinleştirir ve tutar. diğer 4 sağlam.

    
verilen cevap geekosaur 11.03.2011 18:18
51

Ayrıca, SSH'nin engellenmesini uygulama sorunları canlı tutma 'nı bağlantı sorunlarında donmaya karşı da kurmak isteyebilirsiniz. % Co_de%, şunu içerir:

Host *
ServerAliveInterval 15
# ServerAliveCountMax 3

Bu, ssh istemcisini her 15 saniyede bir uygulama düzeyinde canlı tutma olanağı sağlar. Üçü ardışık olarak başarısız olduğunda (varsayılan ~/.ssh/config değeri), istemci bağlantıyı askıya alır ve kapatır.

Diğer seçenek ServerAliveCountMax karşı, bu şifrelenmiş kanal içinde kontrol edilir ve spoofable değil.

Tutulanların aynı zamanda uzun rölanti bağlantılarını canlı tutmaya, yani yarı kapalı tcp oturumları el değmeden saatlerce asılı.

Bu özelliği düzenli olarak çalıştırıyorsanız, bu özelliği açmanızı şiddetle tavsiye ederim, ancak empoze edebileceğiniz hafif güvenlik riskini de bilmelisiniz. Saldırganın boşta kalan bir bağlantının aralığını ve içeriğini bilmesi durumunda bir bilinen düz metin saldırısı daha kolay olabilir. Bu, neden varsayılan olarak etkinleştirilmemesinin nedenleri olabilir.

    
verilen cevap ulidtko 11.03.2011 19:51
39

Geekosaur'un cevabında belirtildiği gibi, ~. çıkış dizisi, bağlantıyı sonlandıracaktır.

Kaçış dizilerinin tam listesi ve ne yaptıkları, ~? yazılarak görüntülenebilir:

Supported escape sequences:
  ~.  - terminate connection (and any multiplexed sessions)
  ~B  - send a BREAK to the remote system
  ~C  - open a command line
  ~R  - Request rekey (SSH protocol 2 only)
  ~^Z - suspend ssh
  ~#  - list forwarded connections
  ~&  - background ssh (when waiting for connections to terminate)
  ~?  - this message
  ~~  - send the escape character by typing it twice
(Note that escapes are only recognized immediately after newline.)
    
verilen cevap scottl 15.03.2011 07:39

Etiketlerdeki diğer soruları oku