リモートシステムにホームディレクトリがない場合は、公開鍵を介してSSH経由で接続できますか?

リモートシステムにホームディレクトリがない場合は、公開鍵を介してSSH経由で接続できますか?

現在、FOOユーザーにsshを実行してから、BARユーザーにsudoを実行する必要があります。

公開鍵を使用してsshを実行したいのですが、リモートシステムにはユーザーFOOのホームディレクトリがないため、明らかに.ssh/authorized_keysはありません。公開鍵をどこに入れることができますか?

/homeディレクトリが空であるため、ユーザー用のホームディレクトリが作成されていないように見え、システムに対するroot権限がありません。

ありがとうございます。

答え1

あなたのユーザー名は次のとおりですtestssh

  • /etc/ssh/authorized_keys_testsshキーを生成し、そこに置きます。
  • 以下を追加してください/etc/ssh/sshd_config
Match User testssh
    AuthorizedKeysFile  /etc/ssh/authorized_keys_%u

そしてsshdを再起動してください。ユーザーは自分の秘密鍵を使用してSSH経由で接続できます。

答え2

短い答え

そうではないかもしれません。システム管理者に連絡してください。


より長い答え

まず、/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でも、サーバー管理者がファイルの非標準の場所を設定した場合は、公開鍵を使用できます。

使用していると仮定SSHを開く、ファイルの場所はauthorized_keys設定ファイルAuthorizedKeysFileのキーワードで指定できますsshd_config。詳しくはマニュアルをご覧ください。

デフォルト値はです~/.ssh/authorized_keys/etc/ssh/sshd_configデフォルト値が上書きされたことを確認するには、設定を確認する必要があります。 root アクセス権がないため、変更したい場合は、システム管理者に助けを求める必要があります。

ホームディレクトリがなく、システム管理者がファイル内の他の場所を構成しておらず、authorized_keysコンピュータに対する管理権限がないことが判明した場合、キーを使用できない可能性があります。ベース認証 - システム管理者に連絡してください。

関連情報