Fix: Pseudo-terminal tidak akan dialokasikan karena stdin bukan terminal

Dalam kebanyakan kasus, Anda akan menerima pseudo-terminal yang membingungkan tidak akan dialokasikan karena stdin bukan kesalahan terminal hanya ketika Anda menjalankan semacam perintah SSH dari skrip. Jika Anda menjalankan perintah yang sama dari baris perintah, maka itu mungkin bekerja dengan baik.

Sebelum melangkah lebih jauh, pastikan bahwa Anda telah menambahkan kunci publik Anda ke agen SSH dan kemudian coba gunakan ssh lagi. Anda mungkin baru saja kehilangan kunci. Di sisi lain, jika ini tidak berhasil maka Anda perlu melakukan sedikit pemecahan masalah di skrip Anda.

Metode 1: Memaksa & Menonaktifkan Alokasi pseudo-tty

Ada sepasang opsi baris perintah yang dapat memperbaiki masalah dengan cepat untuk Anda. Coba ssh-t-r diikuti oleh sisa dari apa yang Anda coba sambungkan ke dalam untuk memaksa alokasi pseudo-terminal. Misalnya, katakanlah Anda akan menggunakan ssh -p 80 [email protected] untuk masuk ke akun Anda di example.com, yang tentu saja adalah tiruan untuk dokumentasi yang tidak ada.

Coba jalankan mis ssh -t -t -R -p 80 [email protected] dan lihat apakah ini memperbaiki masalah. Anda tentu saja perlu mengganti nama dengan akun dan nama host Anda yang sebenarnya agar berhasil masuk ke sistem. Ini memaksa alokasi terminal, sehingga Anda tidak akan melihat pseudo-terminal tidak akan dialokasikan karena stdin bukan kesalahan terminal.

Di sisi lain, Anda mungkin hanya berakhir dengan serangkaian pesan kesalahan yang konstan. Beberapa pengguna berkomentar bahwa ini bisa dianggap lucu.

Ini tentu saja membuat frustasi, jadi gunakan Ctrl + C untuk mematikan prosesnya.

Anda dapat mencoba menggunakan hanya satu tombol atau meningkatkan nomor. Jika ini tidak berhasil, gantilah saklar -t apa saja dengan tombol -T dalam perintah, mis. Ssh -T -R -p 80 [email protected] dan lihat apakah itu berfungsi.

Metode ini menonaktifkan seluruh proses alokasi pseudo-terminal sama sekali, jadi ini mungkin berhasil dalam kasus-kasus di mana pemaksaan tidak. Tentu saja, semua ini tidak menjadi masalah dari baris perintah, tetapi pastikan untuk membuat catatan ketika Anda menemukan opsi mana yang berfungsi dari skrip Anda sehingga Anda dapat menggunakannya di skrip mendatang yang harus Anda jalankan untuk mengakses server tersebut.

TIP PRO: Jika masalahnya ada pada komputer Anda atau laptop / notebook, Anda harus mencoba menggunakan Perangkat Lunak Reimage Plus yang dapat memindai repositori dan mengganti file yang rusak dan hilang. Ini berfungsi dalam banyak kasus, di mana masalah ini berasal karena sistem yang rusak. Anda dapat mengunduh Reimage Plus dengan Mengklik di Sini

Karena perintah ssh memberi dua opsi yang berlawanan ini, ingatlah bahwa -t memaksa alokasi pseudo-terminal sementara -T menonaktifkannya. Opsi-opsi ini peka huruf besar-kecil, dan seringkali diperlukan dari dalam skrip karena ssh memerlukan terminal TTY tradisional untuk berfungsi. Tentu saja, dalam kasus Anda, Anda akan menggunakan emulator terminal Anda untuk tujuan ini.

Metode 2: Menggunakan sshpass

Beberapa orang mungkin menemukan bahwa skrip mereka bekerja lebih baik dengan perintah sshpass, yang tidak disertakan secara default. Anda selalu dapat menginstalnya dengan sudo apt-get install sshpass atau sudo yum install sshpass jika Anda lebih memilih untuk mencobanya atau karena Anda membutuhkannya untuk kasus penggunaan khusus Anda.

Jika Anda belum menggunakannya, mungkin Anda tidak membutuhkannya. Namun demikian, Anda dapat menggunakan teknik yang sama untuk pesan kesalahan kejutan yang terkait dengan alokasi pseudo-terminal dalam lingkungan semacam ini juga.

Misalnya, gunakan sshpass -p password ssh -T [email protected] untuk memaksa sistem bekerja dari dalam skrip Anda.

Metode 3: Memperbaiki Kesalahan Manajemen Pekerjaan

Terkadang Anda mungkin mendapatkan satu pesan kesalahan lainnya bahkan setelah memperbaiki semua ini. Jika Anda menerima peringatan yang membaca tidak ada akses ke tty dan kemudian Anda diingatkan bahwa tidak ada kontrol pekerjaan di shell Anda, Anda seharusnya bisa bekerja dengan normal.

Kesalahan ini disebabkan oleh sesuatu yang tidak teratur pada server jauh yang terkait dengan csh, tcsh atau bahkan mungkin Almquist atau shell lain. Anda mungkin tidak menyadarinya karena Anda mendapatkan pesan kesalahan lainnya, tetapi dengan ketentuan bahwa Anda tidak melihat orang lain tentang pseudo-terminal itu harus mungkin untuk terus relatif seperti yang biasanya Anda lakukan.

Anda mungkin tidak ingin mencoba menggunakan Ctrl + Z dalam kasus ini untuk menghentikan proses, karena mungkin tidak ada cara untuk memulainya lagi. Jika Anda mendapatkan pesan kesalahan yang berbunyi ada pekerjaan yang dihentikan saat Anda keluar, maka Anda tidak akan diizinkan untuk keluar.

Gunakan ps dan bunuh perintah untuk menutup semua pekerjaan yang tidak dapat Anda tutup, dengan asumsi Anda tidak keberatan kehilangan pekerjaan dalam prosesnya. Anda akan dapat keluar sekarang.

TIP PRO: Jika masalahnya ada pada komputer Anda atau laptop / notebook, Anda harus mencoba menggunakan Perangkat Lunak Reimage Plus yang dapat memindai repositori dan mengganti file yang rusak dan hilang. Ini berfungsi dalam banyak kasus, di mana masalah ini berasal karena sistem yang rusak. Anda dapat mengunduh Reimage Plus dengan Mengklik di Sini

Facebook Twitter Google Plus Pinterest