Kesik bir borudan sonra ssh oturumuna nasıl yeniden bağlanabilirim?

21

Bu yüzden, yönlendiricinin son kez beni sinirlendirdiğinden çok uzun süredir karar vermesi üzerine bir sunucuda apt-get upgrade çalıştırıyordum: Tüm bağlantıyı bıraktı. Hikayenin ahlaki bir serseri yönlendirici üzerinde olduğunuzda screen çok kullanmaktır.

Yine de giriş yaptım ve sürecin hala orada asılı kaldığını, hala Y / n'nin yükseltilmesini beklediğimi (henüz vurmadım, neyse ki). Kırılmış bir oturuma yeniden bağlanmanın bir yolu var mı? Paket yönetiminin ortasında olmadığından onu öldürdüm ama gelecekteki referansları bilmek harika olurdu.

    
sordu hexafraction 22.09.2012 05:49

3 cevap

14

Doğru sorunuzun cevabı: yapamazsın . Esas problem, kimlik doğrulama prosedürlerinin senkronize olmamasıdır. Sadece böyle çalışmıyor.

Farkettiğiniz gibi, çözüm mümkün olduğunda ekran kullanmaktır (bu arada, tmux ekrana alternatiftir) .

    
verilen cevap January 28.09.2012 12:11
8

Uzun süreli süreçler çalıştırmak için ekran veya daha güçlü bir arayüz istiyorsanız byobu kullanıyorum.

Ekran için şunları kullanabilirsiniz:

screen [program] [args]

Bu, ekran oturumunda [program] ve [args] komutunu çalıştıracaktır. Program bittiğinde, oturum otomatik olarak kapanır. Programı çalıştırdıktan sonra oturumu sürdürmek isterseniz, herhangi bir argüman olmadan ekran 'ı çalıştırın ve oturumda yeni bir uyarı görünecektir. CTRL + A + D , terminali geçerli oturumdan çıkarır.

Bir önceki oturuma yeniden bağlanmak için:

screen -r

Sadece bir oturum açıksa, hemen yeniden bağlanır. Birden çok oturum devam ediyorsa, hangisini eklemek istediğinizi soracaktır. Oturum adını biliyorsanız, bu komut satırına argüman olarak ekleyebilirsiniz.

Byobu güzel bir gelişmedir. ekran temeline dayanıyor, ancak alttaki tüm oturumları sekmeler olarak gösteren ve buralarda gezinmek için daha kolay kısayollar sunan bir çubuk sağlar. Şunları yapabilirsiniz:

  • F2 yeni bir oturum başlat
  • F3, soldaki bir sonraki oturum sekmesine gider
  • F4, sağdaki sonraki oturum sekmesine gider
  • F8 mevcut oturum sekmesine bir dost adı verir
  • F9 bir seçenekler menüsü açar
  • CTRL + A + D, terminaldeki tüm oturumları kaldırır.

TAVSİYE BİLGİSİ : root kullanıcısıyla açılan bir oturumdan kaçınmak. Herhangi biri terminalinize (yerel veya uzaktan) erişim kazanırsa, devam eden bir oturuma kolayca yeniden ekleyebilir ve sisteminizi root olarak kullanabilirler. Gerekirse, ortak bir kullanıcı ve sudo tek tek komut satırlarını gerektiği şekilde kullanarak bir oturum başlatmak en iyisidir.

    
verilen cevap JulioHM 27.09.2012 23:44
5

Bozuk bir SSH oturumuna yeniden bağlanamazken, içeride çalışan işlemi - istediğiniz gibi işlevsel olarak eşdeğer bir şekilde - ele alabilirsiniz.

Durumunuzda, yeni SSH oturumu, apt-get oturumu veya benzerlerinden kontrol edilecek screen işlemini ele geçirdiniz. Bunun için favorim reptyr komutudur:

$ sudo apt-get install reptyr
$ ps ax | grep apt-get
10626 pts/8   R+     0:32 apt-get upgrade

Ardından, işleminiz için bulduğunuz pid ile:

$ reptyr 10626

Bu aşamadan sonra, tüm klavye girişiniz üstlendiğiniz programa gider. Maalesef, SSH oturumunun eski çıktısını görmeyeceksiniz, örneğin apt-get çıktısı sizden onay ister.

Temel olarak aynı reptyr ile çalışan diğer birçok araç vardır ( ptrace hata ayıklama eki yoluyla). Tartışıldıkları aşağıdaki soruları ve cevapları görün:

(Ayrıntılar: Bu şekilde bir SSH oturumu gerçekleştirememenizin nedeni, sshd işleminin bir ana bilgisayar terminali tarafından kontrol edilmemesi, bunun yerine bir terminalin köle bölümünü sağlar - pts aygıtı - kontrol eden ana parça, istemci makinede, burada bir arada aşağı SSH oturumuyla birlikte bulunurken.% Co_de% gibi bir sshd işlemini devraldığınızda, klavye girişiniz gider Bu sürece aktif çocuk sürecini değil, bir "Ctrl + Z" ise reptyr -s <pid> 'sini öldürecektir.)

    
verilen cevap tanius 16.02.2017 15:12

Etiketlerdeki diğer soruları oku

___ answer43528 ___

# %code% ile denediniz mi?

    
___ qstnhd__ Ubuntu'yu komut satırından kurmak için USB yükleyici oluşturun? ___ qstntxt ___

Ubuntu'yu yeni bir bilgisayara yüklemek için önyüklenebilir bir USB görüntüsü oluşturmaya çalışıyorum.

Bunu, Ubuntu masaüstüne yönelik " USB sürücü oluştur " u izlemeden önce yaptım, ancak ben Ubuntu masaüstünüz yok.

Aynı şeyi sadece komut satırını kullanarak nasıl yapabilirim?

Denediğim şeyler:

  • Ubuntu.com'u izleyen Mac OS X'te önyüklenebilir USB oluşturun. Mac için USB sürücü oluşturma talimatı: Önyükleme yapmıyor.
  • %code% :% co_de yüzdesine ve Wikipedia usb içerik oluşturucusuna göre yalnızca grafik bir araç olarak var.
  • help.ubuntu.com adresinden "Manuel olarak oluştur" talimatları : Hiçbir dosya ve ISO dizininde tanımlanan dizinler (ör. %code% , %code% , %code% ) var ve bunların yerini neyden değiştirdim bilmiyorum.
  • unetbootin scripting : Tam olarak komut yazıldığında bile X sunucusunun (grafik desteği) çalışmasını gerektirir. (% Co_de komutu% %code% bir hata iletisi veriyor.)

Güncelle

Ayrıca GRUB çalışmayı denedi: Bilgi birleştirme

Yarıya kadar çıkabildim - USB'den başlatıldı, grup menüsünü görüntüledi ve kurulumu başlattı, ancak yükleme tamamlanmadı.

Referans olarak, en yakın adresim:

%pre%

Daha sonra, bir .iso döngü oluşturması için örnek %code% düzenledim, örnek grub girişi:

%pre%

USB'den önyükleme yaparken, bu bana Grub önyükleme menüsünü verir ve yükleyiciyi başlatır, ancak yükleyici CD-ROM sürücüsünü bulamadığı için birkaç ekrandan vazgeçti. (Doğal olarak, yüklediğim kutuda optik sürücü yok.)

Ubuntu Live masaüstü CD'sini (bir optik sürücüye sahip bir bilgisayarda) kullanarak "USB sürücüsü oluştur" rutini bırakıp bunu yaparak bu sorunu çözdüm, sonra USB yüklemesi işe yarar.

Ama bunu X sunucusu olmayan ve optik disk sürücüsü olmayan bir Ubuntu sisteminin komut satırından yapmanın bir yolu olduğunu umuyorum, bu yüzden soru hala geçerli.

Herkes nasıl olduğunu biliyor mu?

    
___ answer31993 ___
  

USB'den önyükleme yaparken, bu bana Grub önyükleme menüsünü verir ve yükleyiciyi başlatır, ancak yükleyici CD-ROM sürücüsünü bulamadığından şikayet eden birkaç ekrandan vazgeçmiştir.

Bu, ubuntu server iso'yla bilinen bir hatadır (masaüstü iso sadece iyi çalışır), ancak usb sürücüsündeki iso'dan paketleri almak için bir düzeltme var: Bir kez yükleyicide, Ctrl + Alt + f2 tty'yi açmak için ve terminalde:

%pre%

Ardından yükleyiciye geri dönün ve paketler için cd taramak için tekrar deneyin. Çalışmalı.

    
___ answer376461 ___

Terminalden önyüklenebilir bir Ubuntu USB flash sürücü oluşturma

  • %code% dosyasını monte edin. Bu işlem için terminaldeki aşağıdaki komutlar,

    %pre%
  • Ardından, %code% dosyasındaki tüm dosyaları %code% dizinindeki bağlı USB flash sürücü klasörüne kopyalayın.

    USB flash sürücünüzü takın.

    Eklediğiniz her zaman otomatik olarak monte edilecektir. USB bölümü %code% içine monte edilmelidir. USB sürücünüzün %code% klasörüne yerleştirildiğini farz edelim. Sonra aşağıdaki komutu çalıştırın,

    %pre%

    Usb aygıtı bölümünü öğrenmek için %code% komutunu çalıştırın.

  • Ardından, USB önyüklenebilir yapmak için USB flash sürücü bölümünüzün içindeki %code% dosyasını ( / dev / sdd1 ) içine yapıştırın. komutları,

    %pre%
  • %code% klasörüne gidin ve %code% dizinini %code% olarak yeniden adlandırın. Daha sonra yeniden adlandırılmış syslinux klasörüne gidin ve dosyayı %code% - %code% olarak yeniden adlandırın.

    %pre%
  • Bilgisayarınızı yeniden başlatın ve BIOS'taki %code% 'yi USB olarak değiştirin. Ubuntu USB flash sürücünüzün önyüklenmesi ve yükleyebilirsiniz.

Bu yöntem, yalnızca ubuntu için değil, tüm linux dağıtımları için çalışır.

    
___ answer142587 ___

Senden önce bir şey istemediğini varsayalım. Bir GUI'niz varsa, bir terminali açabilir ve burada açıklanan her şeyi yapabilirsiniz. Ya da bir tty kullanabilirsiniz.

  

UYARI:
Potansiyel hasarı önlemek için talimatları çok dikkatli bir şekilde izleyin.

  • %code%

    yazarak bir kök isteme geçin.

    USB’nin hangi cihazı olduğunu tespit edin.

  • %code%

Artık syslog'da canlı görüntü alıyorsunuz. USB sürücünüzü takın. Ekranda bazı mesajlar görmelisiniz. Böyle bir şey.

%pre%

ona bak ve tekrarlanan köşeli parantez içinde bir şey buldun mu? Bu durumda %code% . Bir parça kağıda not edin. Komut istemine ulaşmak için Ctrl + C yazın.

Usb üzerine yazmak için iso dosyasını bulun.

ISO dosyası %code% ise; Bu yolu bir parça kağıda not edin.

USB'ye yaz

  

Uyarı:

     

Bu, tüm USB diskini siler . Devam etmeden önce yedekleyin.

  • %code%

%code% dosyasını iso dosyanızın gerçek yolu ile değiştirin.

Daha önce not ettiğiniz her şeyi %code% ile değiştirin. Yinelenen kısım %code% ise; %code% ve benzeri kullanın.

  

Uyarı:

     

Bir sürücü harfinin yanlış yazılması, farklı bir sürücüde kalıcı veri kaybıyla sonuçlanacaktır. % Co_de% komutunu verirken daha fazla dikkat edin.

    
___ answer21332 ___

Ubuntu Live masaüstü CD'sini kullanarak bu sorunu çözdüm.

Canlı CD'yi bir optik sürücüye sahip bir bilgisayarda önyükleyerek, Ubuntu masaüstü komutlarını kullanarak varolan yüklemeye dokunmadan USB kalem yükleyicisini oluşturabilirim.

    
___ answer258954 ___

Bunu yapmak için USB içerik oluşturucuyu kullanabilirsiniz.

USB aygıtında bölüm 1 olarak tek bir vfat bölümünün olması gerekir (usb-creator-gtk'nin silme diski adımı bunu yapar) ve önyüklenebilir olarak işaretlenmelidir.

Ardından, bize yardımcı olması için usb içerik oluşturucu python kodunu alacağız.

%pre%

veya

%pre%

bu içeriğe sahip bir dosya oluşturun ve usb-creator-cli olarak adlandırın, bzr'yi son adımda kullanırsanız, bu dosyayı usb-creator dizinine (bzr dalının kökü) yerleştirin.

%pre%

Çalıştırılabilir yapın

%pre%

Şimdi iso'nızı / iso'ya takın ve usb cihazınızı / mnt'e bağlayın

%pre%

Konsolunuzda çok ayrıntılı mesajlar istiyorsanız ~ / .cache / usb-creator.log dosyasını takip edebilirsiniz

%pre%

Şimdi bu usb-creator-cli betiğini çalıştırın

%pre%

Ve tüm mesajları seyredin.

Komut istemine geri döndüğünüzde, usb depolama aygıtınızı kullanmadan önce bağlantıyı / mnt'yi unutma.

    
___ answer21308 ___

Alternatif Yükleme veya Mini iso (512mb çubuğunuza sığması gereken) kullanarak bir komut satırı (CLI) Ubuntu yükleyebilirsiniz.

Ardından Crunchbang'ı alternatif yöntemi kullanarak yükleyin: İşte

Ayrıca, 512mb'den daha az olan CrunchBang'ın Lite sürümünü de deneyebilirsiniz.

USB çubuğunu hazırlamak için Unetbootin'i kullanabilirsiniz.

    
___ Dosya izinleri değişmeyecek