Düzeltme: Stdin bir terminal olmadığı için sözde terminal atanmayacaktır

Çoğu durumda, bir komut dosyasından bir tür SSH komutu çalıştırıyorsanız, stdin bir terminal hatası olmadığından, kafa karıştırıcı bir sözde terminalin atanmayacağını görürsünüz. Komut satırından aynı komutu çalıştırıyorsanız, mükemmel bir şekilde çalışabilir.

Daha fazla devam etmeden önce, genel anahtarınızı SSH aracısına eklediğinizden emin olun ve ardından ssh'yi tekrar kullanmayı deneyin. Bir anahtarı kaçırmış olabilirsin. Öte yandan, eğer bu işe yaramazsa, o zaman senaryonuzda küçük bir sorun çıkarmanız gerekecektir.

Yöntem 1: Sahte-Tty Tahsisini Zorlama ve Devre Dışı Bırakma

Sorunu sizin için hızlıca çözebilecek bir çift komut satırı seçeneği var. Ssh -t -t -R'yi deneyin ve ardından sözde terminal ayırmayı zorlamak için bağlamaya çalıştığınız şeyin kalanını deneyin. Örneğin, example.com adresindeki hesabınıza giriş yapmak için ssh -p 80 [email protected] adresini kullanacağınızı varsayalım.

Örneğin, ssh -t -t -R -p 80 [email protected] adresini çalıştırmayı deneyin ve sorunun çözülüp çözülmediğine bakın. Tabii ki sisteme başarıyla giriş yapmak için ismi gerçek hesabınız ve ana bilgisayar adınızla değiştirmeniz gerekecektir. Bu, bir terminalin tahsisini zorlar, bu nedenle, sözde terminalin ayrılmayacağını görmelisiniz çünkü stdin bir terminal hatası değildir.

Öte yandan, sürekli bir hata mesajı dizisi ile son bulabilirsin. Bazı kullanıcılar bunun eğlenceli sayılabileceğini belirtti.

Buna rağmen kesinlikle sinir bozucu, bu yüzden işlemi öldürmek için Ctrl + C kullanın.

Sadece bir -t anahtarını kullanarak veya sayıyı artırarak deneyebilirsiniz. Bu işe yaramazsa, herhangi bir -t anahtarını komuttaki bir -T anahtarıyla değiştirin, örn. Ssh -T -R -p 80 [email protected] ve bunun işe yarayıp yaramadığını öğrenin.

Bu yöntem, tüm sözde terminal ayırma işlemini tamamen devre dışı bırakır, dolayısıyla zorlama olmayan durumlarda işe yarayabilir. Tabii ki, bunların hiçbiri komut satırından bir sorun olmamalı, ancak betiğinizden hangi seçeneğin çalıştığını bulduğunuzda not aldığınızdan emin olun, böylece söz konusu sunucuya erişmek için çalıştırmanız gereken herhangi bir komut dosyasında kullanabilirsiniz.

PRO TIP: Sorun bilgisayarınız veya dizüstü bilgisayar / dizüstü bilgisayar ile yapılmışsa, depoları tarayabilen ve bozuk ve eksik dosyaları değiştirebilen Reimage Plus Yazılımı'nı kullanmayı denemeniz gerekir. Bu, çoğu durumda, sorunun sistem bozulmasından kaynaklandığı yerlerde çalışır. Reimage Plus'ı tıklayarak buraya tıklayarak indirebilirsiniz.

Ssh komutu bu iki karşıt seçeneği benzer isimler verdiğinden, -T devre dışı bırakırken sahte terminallerin tahsisini zorladığını unutmayın. Bu seçenekler büyük / küçük harfe duyarlıdır ve genellikle komut dosyalarının içinden gereklidirler çünkü ssh, çalışmak için geleneksel bir TTY terminaline ihtiyaç duyar. Doğal olarak, sizin durumunuza göre terminal emülatörünüzü bu amaç için kullanacaksınız.

Yöntem 2: sshpass kullanarak

Bazı insanlar, komut dosyalarının varsayılan olarak dahil edilmeyen sshpass komutuyla daha iyi çalıştığını fark edebilir. Eğer bir deneyin vermeyi tercih ederseniz ya da özel kullanım durumunuz için ihtiyacınız varsa, her zaman sudo apt-get install sshpass veya sudo yum install sshpass ile kurabilirsiniz.

Henüz kullanmıyorsanız, muhtemelen buna ihtiyacınız yoktur. Yine de, bu tür bir ortamda sözde terminal tahsisi ile ilgili hata mesajlarını şaşırtmak için aynı teknikleri kullanabilirsiniz.

Örneğin, sistemin komut dosyanızın içinden çalışmasını zorlamak için sshpass -p password ssh -T [email protected] adresini kullanın.

Yöntem 3: iş yönetimi hatalarını düzeltme

Bazı durumlarda, tüm bunları düzelttikten sonra bile başka bir hata mesajı alabilirsiniz. Tty'ye erişemeyen bir uyarı alırsanız ve o zaman kabukta iş kontrolü olmadığını hatırlatırsanız, normal şekilde çalışabilmeniz gerekir.

Bu hata, uzak sunucuda csh, tcsh veya hatta Almquist veya başka bir kabukla ilgili olarak düzensiz bir şeyden kaynaklanır. Diğer hata mesajlarını aldığınız için farketmediniz, ancak sözde terminaller hakkında başka bir şey görmemeniz şartıyla, genellikle yaptığınız gibi göreceli olarak devam etmek mümkün olmalıdır.

Bu durumda işlemleri durdurmak için Ctrl + Z'yi kullanmayı denemek istemeyebilirsiniz, çünkü tekrar başlatmalarına izin verilmesinin bir yolu olmayabilir. Çıktığınızda işlerin durdurulduğunu okuyan bir hata mesajı alıyorsanız, çıkış yapmanıza izin verilmez.

Süreç içinde iş kaybetme riski taşıyamayacağınızı varsayarak, kapatamadığınız tüm işleri kapatmak için ps ve kill komutlarını kullanın. Şimdi çıkabileceksin.

PRO TIP: Sorun bilgisayarınız veya dizüstü bilgisayar / dizüstü bilgisayar ile yapılmışsa, depoları tarayabilen ve bozuk ve eksik dosyaları değiştirebilen Reimage Plus Yazılımı'nı kullanmayı denemeniz gerekir. Bu, çoğu durumda, sorunun sistem bozulmasından kaynaklandığı yerlerde çalışır. Reimage Plus'ı tıklayarak buraya tıklayarak indirebilirsiniz.

Facebook Twitter Google Plus Pinterest