私はFreeBSDを使用しています。基本的に、私はphpスクリプト(Apacheで実行)を別のマシンにsshで接続しようとしています。誰も.ssh構成ファイルを持っていないという問題が発生しているため、エラーが発生します。
ディレクトリ '/nonexistent/.ssh'を作成できませんでした。ホストキーの検証に失敗しました。
これを回避する方法はありますか?ルートアクセスなしでこれを行うことができる場合はボーナスポイントなので、これを行うために私のウェブホスティング会社に支払う必要はありません。
ありがとう。
次のオプションを使用してssh
を開始してみてください。
ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no ...
そうすれば、ssh
は.ssh/known_hosts
ファイルをロードして作成しようとはしません。
ユーザーnobody
の背後にある全体的な考え方は、彼にはホストに対する権限がほとんどないということです。誰もグループの一部ではありません。誰もホームディレクトリを持っていません。
Homedirがないと、homedirに.sshディレクトリはありません。したがって、これは機能しません誰もいないので。
おそらく、他のユーザーの下でプロセスを実行できますか? (ただし、ルートアクセスが必要な別のユーザーを作成する必要があります。これは望ましくないと述べました。
シェルをユーザーに割り当てた場合はどうなりますか。私のシステムでは、シェルとして/ sbin/nologinが割り当てられている人はいません。これを/ bin/bashに変更するとどうなりますか。
ホームフォルダが存在しないときに何度もシステムにSSHで接続しました。ホームフォルダが作成されます。必要なのはシェルだけです。