想像する:ソースホスト(Solaris 5.10、KSH)、次のスクリプトを実行してみました。サンプル.ksh源泉
#!/bin/ksh
set -x
Rediscover ()
{
ssh user@hostB ./scripts/test.ksh
}
Rediscover
exit 0
リモートホスト:Linux(bashシェル)、次のスクリプトがありますテスト.ksh
#!/bin/bash -x
resize
stty -a
exit
問題:問題なくLinuxホストでtest.kshを直接実行できますが、Solarisでリモートで実行しようとすると、次のエラーが発生します。
root@hostA# ./sample.ksh
+ Rediscover
+ resize
resize: can't open terminal /dev/tty
+ stty -a
stty: standard input: Invalid argument
+ exit
+ exit 0
resizeとstty -aの出力をリモートで見ることができないのはなぜですか?
AからBまでのSSHキーの設定
答え1
-tt
スクリプトでスイッチを使用して対話型セッションを強制できます。
ssh -tt user@hostB ./scripts/test.ksh
hostB
それ以外の場合、TTY は割り当てられず、このタイプのエラーが発生します。