GNU/Linux >> Znalost Linux >  >> Linux

Ssh uvnitř Ssh selže s „stdin:Is Not A Tty“?

Snažím se připojit k počítači jedna pomocí ssh a poté se připojit k jinému počítači dva pomocí ssh, ale zobrazuje se mi tato chyba.

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

stdin: is not a tty

Proč?

Přijatá odpověď:

Ve výchozím nastavení, když spustíte příkaz na vzdáleném počítači pomocí ssh, není pro vzdálenou relaci přidělen TTY. To vám umožní přenášet binární data atd., aniž byste se museli zabývat zvláštnostmi TTY. Toto je prostředí poskytované pro příkaz spouštěný na computerone .

Když však spustíte ssh bez vzdáleného příkazu, přiděluje TTY, protože pravděpodobně spouštíte relaci shellu. To očekává ssh [email protected] příkaz, ale kvůli předchozímu vysvětlení není pro tento příkaz k dispozici žádný TTY.

Pokud chcete shell na computertwo , použijte místo toho toto, což vynutí alokaci TTY během vzdáleného spuštění:

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

To je obvykle vhodné, když nakonec spouštíte shell nebo jiný interaktivní proces na konci řetězce ssh. Pokud se chystali přenášet data, není vhodné ani nutné přidat -t , ale pak by každý příkaz ssh obsahoval příkaz produkující nebo spotřebovávající data, jako:

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

Linux
  1. Git Remote Add s jiným portem SSH (ne 22)

  2. Automatizace hesel SSH v Linuxu pomocí sshpass

  3. Vim neběží uvnitř Tmux?

  1. Vypsat všechny adresáře, které nemají soubor s daným názvem souboru uvnitř?

  2. Hledat uvnitř kbelíku S3 s protokoly?

  3. Začínáme s SSH v Linuxu

  1. CentOS/RHEL:Příkaz Mount selže s „mount:neobsahuje štítky SELinux“

  2. Haproxy se nezaznamenává pomocí rsyslog

  3. SSH s autorizovanými klíči do systému Ubuntu se zašifrovaným homedir?