web-dev-qa-db-ja.com

誰もいないユーザーとのSSH

私はFreeBSDを使用しています。基本的に、私はphpスクリプト(Apacheで実行)を別のマシンにsshで接続しようとしています。誰も.ssh構成ファイルを持っていないという問題が発生しているため、エラーが発生します。

ディレクトリ '/nonexistent/.ssh'を作成できませんでした。ホストキーの検証に失敗しました。

これを回避する方法はありますか?ルートアクセスなしでこれを行うことができる場合はボーナスポイントなので、これを行うために私のウェブホスティング会社に支払う必要はありません。

ありがとう。

5
thatidiotguy

次のオプションを使用してsshを開始してみてください。

ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no ...

そうすれば、ssh.ssh/known_hostsファイルをロードして作成しようとはしません。

4
Oliver

ユーザーnobodyの背後にある全体的な考え方は、彼にはホストに対する権限がほとんどないということです。誰もグループの一部ではありません。誰もホームディレクトリを持っていません。

Homedirがないと、homedirに.sshディレクトリはありません。したがって、これは機能しません誰もいないので

おそらく、他のユーザーの下でプロセスを実行できますか? (ただし、ルートアクセスが必要な別のユーザーを作成する必要があります。これは望ましくないと述べました。

1
Hennes

シェルをユーザーに割り当てた場合はどうなりますか。私のシステムでは、シェルとして/ sbin/nologinが割り当てられている人はいません。これを/ bin/bashに変更するとどうなりますか。

ホームフォルダが存在しないときに何度もシステムにSSHで接続しました。ホームフォルダが作成されます。必要なのはシェルだけです。

0
mike