現在物理的にアクセスできないコンピュータがあります。 SSH経由でログインしようとすると、出力が次のように表示されるため、コンピュータは応答しません。
/bin/bash: Input/output error
その後、接続が閉じます。マシンをリモートでリセットしたいecho 'reisub' > /proc/sysrq-trigger
(カーネルとsshがまだ実行中なのでこれが可能だと思います)。私は次を試しました
ssh -T <host> "echo 'reisub' > /proc/sysrq-trigger"
ただし、sshはまだ呼び出しを試み、/bin/bash
同じエラーを発生させます。 bashを最初に呼び出さずにsshを介して直接コマンドを実行する方法はありますか?
ベストアンサー1
ほとんどすべてのUNIXホストが使用します。SSHを開くSSH接続を許可するSSHサーバー。 OpenSSH sshd に接続してコマンドの実行を要求すると、常にログインシェルを使用してコマンドを実行します。実行する場合:
ssh -T <host> "echo 'reisub' > /proc/sysrq-trigger"
その後、SSH サーバーは次のタスクを実行します。
$SHELL -c "echo 'reisub' > /proc/sysrq-trigger"
ログインシェルはどこにあります$SHELL
- /bin/bashなど。
1つの例外はSSHサーバーです。可能外部プログラムを呼び出さずにSFTPセッションを処理するように設定します。もしホストが次のように構成されている場合は、次のようになります。可能働く:
- ローカルシステムに「reisub」というテキストを含むファイルを作成します。
- リモートシステムとSFTP接続を確立します。
- そのディレクトリに移動
/proc
してファイルをsysrq-trigger
。