SSH oturumum takılı kaldığında ne yapabilirim?


109

Bazen terminaldeki ssh oturumum kilitleniyor. Ssh oturumundan nasıl çıkıp yeniden bağlanabilirim?

Yanıtlar:


195

Tür ~.Bir satırın başında (yani yaklaşık işareti, dönem). Başka bir deyişle, basın Enter, ardından ~, daha sonra .. (Bazı dillerde, karakteri girmek için Shiftveya tuşuna basmanız gerekebilir .)Alt~

Genel olarak konuşursak, ~karakter bir SSH oturumunda bir satırın başında yazdığınızda bir çıkış karakteridir. Tür Entersonra ~?kaçış komutların listesini görmek için. En yaygın olanları

  • ~. bağlantıyı sonlandırmak
  • ~^Z( bağlantıyı askıya almak ve yerel olarak bir komut yazmak için ( ~ardından Ctrl+ Z) 'ya basın ( fgSSH oturumuna geri dönmek için komutu çalıştırın ).

Çizginin başında bir tilde istiyorsanız, tuşuna ~iki kez basın .


7

Bir ssh oturumundan çıkmak için tek yapmanız gereken exitkomut satırına yazmaktır.

Shift+ `+ Girmeyi deneyin.


2
Artık kullanıcı girişi kabul etmiyor, tam anlamıyla oyalandı. Ubuntu'da, böyle durumlarda kullanabileceğiniz oturumu sonlandıran bir klavye kombinasyonu var. Bir süre sonra oturum belirterek sona erecek broken-pipeancak beklemeyi tercih etmiyorum.
Kit Sunde

1
@Kit Cevabımı düzelttim. Bunun için üzgünüm. Tamamen durmuş bir SSH seansı demek istediğinizi anlamadım.
daviesgeek

Genelde sadece zaman aşımına uğramasını beklerim. Bu komutları bilmeme rağmen, onları kabuğumu geri alma sürecini hızlandırmak için kullanabileceğimi her zaman unutuyorum. Not @Gilles'in yanıtı da, önce bir kez Enter / Return tuşuna basmanız gerekebilir ~. . SSH manpage'inde ( yarıdan biraz fazla) biraz daha fazla bilgi alabilirsiniz ve şunu yazarak: ~?aktif / bağlı bir SSH oturumuna tekrar yazabilirsiniz. önce bir kez enter tuşuna basın.
Jason Salaz,

7

Oturumunuz kapatılırsa ve komut istemi artık yanıt vermiyorsa, Terminal örneğini ve ssh oturumunuzun bir olduğu bu örnekle ilişkili tüm alt işlemlerini öldürebilirsiniz.

Yeni bir Terminal örneği açabildiğiniz halde gerçekten tam olmak istiyorsanız, işlem listesinde ssh oturumlarını arayın ve komut satırından öldürün:

> 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

Bu işe yaramazsa deneyin:

> kill -9 57139

ssh-agentSüreci öldürme .

Veya Activity Monitor'ü açıp oturumları arayabilir ve onlar için kill düğmesine basabilirsiniz:

Ssh oturumları için Etkinlik İzleme filtreleme


+1, yaptığım şey bu. Çoğunlukla çalışan bir oturumu bıraktığım yerde, ardından bağlantı yanlışlıkla kesiliyor ya da dizüstü bilgisayarı uyuyarak ssh'in donmasına neden oluyor. Yeni bir konsol sekmesi açtım ve ssh işleminin
PID'sini öldürdüm

Klavye kısayolunu kullanmak, yorucu bir şekilde öldürmeden Mac'inizde çalışıyor mu?
Rafael Bugajewski

1
Kullanın ~.. Yukarıyı görmek.
Snowcrash

0

~. Tamamen sıkışmış gibi görünse de, ssh bağlantısını durdurur ve tekrar başlatabilirsiniz, ancak klavyemde Alt + ~ tuşlarına ve sonra boşluk tuşlarına basmam gerekiyor.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.