GNU/Linux >> Linux Esercitazione >  >> Linux

Ssh Inside Ssh non riesce con "stdin:Is Not A Tty"?

Sto provando a connettermi alla macchina uno con ssh e quindi a connettermi a un'altra macchina due con ssh, ma ottengo questo errore.

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

stdin: is not a tty

Perché?

Risposta accettata:

Per impostazione predefinita, quando si esegue un comando sulla macchina remota utilizzando ssh, un TTY non viene allocato per la sessione remota. Ciò ti consente di trasferire dati binari, ecc. senza dover affrontare stranezze TTY. Questo è l'ambiente fornito per il comando eseguito su computerone .

Tuttavia, quando esegui ssh senza un comando remoto, alloca un TTY, perché è probabile che tu stia eseguendo una sessione di shell. Questo è previsto da ssh [email protected] comando, ma a causa della spiegazione precedente, non è disponibile TTY per quel comando.

Se vuoi una shell su computertwo , usa invece questo, che forzerà l'allocazione TTY durante l'esecuzione remota:

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

Questo è in genere appropriato quando alla fine si esegue una shell o un altro processo interattivo alla fine della catena ssh. Se dovevi trasferire i dati, non è né appropriato né necessario aggiungere -t , ma poi ogni comando ssh conterrebbe un comando per la produzione o il consumo di dati, come:

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

Linux
  1. Comandi multipli in Sshpass?

  2. Vim non funziona all'interno di Tmux?

  3. Elencare tutte le directory che non contengono un file con un nome file specificato?

  4. Oring con True in un comando su Ssh?

  5. Cerca all'interno del bucket S3 con i log?

Accesso SSH basato su chiave con PuTTY

Procedura:per iniziare con Ansible

Come proteggere SSH con Fail2Ban

CentOS/RHEL:il comando di montaggio non riesce con "mount:non contiene etichette SELinux"

Haproxy non registra con rsyslog

Può eseguire il ping/ssh attraverso la LAN ma non con il Wi-Fi