このチェックを行うとき:
$ /usr/sbin/sshd -t
取得:
Could not load Host key: /etc/ssh_Host_rsa_key
Could not load Host key: /etc/ssh_Host_dsa_key
しかし、Sudo
で同じチェックを行うと、すべて問題ありません。
$ Sudo /usr/sbin/sshd -t
$
なぜこれが起こるのか、私の標準ユーザーの何が問題なのか、そしてそれを修正する方法を誰かが知っていますか?
なぜこれが起こるのか、私の標準ユーザーの何が問題なのか、そしてそれを修正する方法を誰かが知っていますか?
何も悪いことはありません。 sshd
(SSHデーモン)を非特権ユーザーとして実行しようとしています。
たとえば、私はMac OS X 10.9.5(Mavericks)を使用していて、/usr/sbin/sshd -t
を実行するとまったく同じ「エラー」が発生します。
Could not load Host key: /etc/ssh_Host_rsa_key
Could not load Host key: /etc/ssh_Host_dsa_key
sshd
はSSHデーモンであるため、これは予想されることです。d
の後のssh
に注意してください。 -これは、リモートSSHログイン要求をリッスンして待機するシステム上でSSHサーバーとして実行されます。したがって、常にが機能するにはroot/Sudo
権限が必要になります。
したがって、これは「エラー」ではなく、非特権ユーザーとしてsshd
のようなシステムデーモンを実行しようとしたときに予想される動作です。
おそらくあなたはssh -t
を実行しようとしていますか? ssh
-t
オプションのマニュアルページで説明されているように:
疑似ttyの割り当てを強制します。これは、リモートマシン上で任意の画面ベースのプログラムを実行するために使用できます。これは非常に便利です。メニューサービスを実装する場合。複数の-tオプションは、sshにローカルttyがない場合でも、ttyの割り当てを強制します。
これにより、基本的に、現在の端末からリモートでコマンドを実行し、ローカルマシンで実行されているかのように出力をローカルに表示できます。したがって— このページで説明されているように —実際に完全にログインせずにリモートマシンでls
を実行したい場合は、次のコマンドを実行できます。
ssh -t [username]@[hostname] ls
ls
の出力が画面に表示され、コマンドが完了するとすぐにssh
接続が閉じます。
次のコマンドを実行して、不足しているキーを作成できます。
/usr/bin/ssh-keygen -A