GNU/Linux >> Belajar Linux >  >> Linux

Ssh Inside Ssh Gagal Dengan "stdin:Is Not A Tty"?

Saya mencoba menyambungkan ke mesin satu dengan ssh lalu menyambungkan ke mesin dua yang lain dengan ssh, tetapi saya mendapatkan kesalahan ini.

ssh [email protected] 'ssh [email protected]'

stdin: is not a tty

Mengapa?

Jawaban yang Diterima:

Secara default, saat Anda menjalankan perintah pada mesin jarak jauh menggunakan ssh, TTY tidak dialokasikan untuk sesi jarak jauh. Ini memungkinkan Anda mentransfer data biner, dll. tanpa harus berurusan dengan kebiasaan TTY. Ini adalah lingkungan yang disediakan untuk perintah yang dijalankan di computerone .

Namun, ketika Anda menjalankan ssh tanpa perintah jarak jauh, itu TIDAK mengalokasikan TTY, karena Anda mungkin menjalankan sesi shell. Ini diharapkan oleh ssh [email protected] perintah, tetapi karena penjelasan sebelumnya, tidak ada TTY yang tersedia untuk perintah itu.

Jika Anda ingin shell di computertwo , gunakan ini sebagai gantinya, yang akan memaksa alokasi TTY selama eksekusi jarak jauh:

ssh -t [email protected] 'ssh [email protected]'

Ini biasanya sesuai ketika Anda akhirnya menjalankan shell atau proses interaktif lainnya di akhir rantai ssh. Jika Anda akan mentransfer data, tidak perlu dan tidak perlu menambahkan -t , tetapi kemudian setiap perintah ssh akan berisi perintah penghasil atau konsumsi data, seperti:

ssh [email protected] 'ssh [email protected] "cat /boot/vmlinuz"'

Linux
  1. Beberapa Perintah Di Sshpass?

  2. Operasi Tidak Didukung Dengan Setfacl?

  3. Vim Tidak Berjalan Di Dalam Tmux?

  1. Daftar Semua Direktori Yang Tidak Memiliki File Dengan Nama File Yang Diberikan Di Dalamnya?

  2. Oring Dengan Benar Dalam Perintah Atas Ssh?

  3. Memulai SSH di Linux

  1. Cara Menonaktifkan Login SSH Dengan Kata Sandi

  2. Cara:Memulai dengan Ansible

  3. CentOS/RHEL:Perintah Mount Gagal Dengan "mount:tidak mengandung label SELinux"