私は現在、ユーザーFOOでsshを実行してから、ユーザーBARでSudoを実行する必要があります。
公開鍵を使用してsshしたいのですが、リモートシステムにはユーザーFOOのホームディレクトリがないため、明らかに.ssh/authorized_keysはありません。公開鍵はどこに置くことができますか?
/ homeディレクトリは空なので、どのユーザーにもホームディレクトリが作成されないようで、そのシステムにはrootがありません。
ありがとう。
ユーザー名がtestssh
であると仮定:
/etc/ssh/authorized_keys_testssh
を作成し、そこにキーを配置します/etc/ssh/sshd_config
に追加します。Match User testssh
AuthorizedKeysFile /etc/ssh/authorized_keys_%u
sshdを再起動します。ユーザーは自分の秘密鍵でsshを実行できます。
おそらくできません-システム管理者に相談してください。
まず、/home
ディレクトリが空であっても(それが存在しない場合でも)、必ずしもユーザーにホームディレクトリがないというわけではありません。 HOME
環境変数の値を確認してみてください。
$ echo $HOME
/path/to/nonstandard/homedirectory
または、getent
コマンドを使用します。
$ getent passwd username
username:*:1001:1001:User Name:/path/to/nonstandard/homedirectory:/bin/bash
ユーザーに実際にはホームディレクトリがないことが判明した場合でも、サーバー管理者がauthorized_keys
ファイルに標準以外の場所を設定している場合は、公開鍵を使用できる可能性があります。
OpenSSH を使用しているとすると、authorized_keys
ファイルの場所は、sshd_config
構成ファイルのAuthorizedKeysFile
キーワードで指定できます。詳細については、ドキュメントを参照してください。
デフォルト値は~/.ssh/authorized_keys
です。デフォルトが上書きされているかどうかを確認するには、/etc/ssh/sshd_config
の設定を確認する必要があります。 rootアクセス権がないため、変更を加える場合は、おそらくシステム管理者に助けを求める必要があります。
ホームディレクトリがないこと、システム管理者がauthorized_keys
ファイルの別の場所を構成していないこと、およびマシンの管理者権限がないことが判明した場合は、おそらく鍵ベースの認証を使用できない-システム管理者に相談してください。