4

パスワードなしのssh-loginの後、LinuxでログインしたリモートユーザーのIDを取得する方法はありますか?

ssh-loginを実行するリモートホスト/ユーザーIDに応じて、login-scriptsでいくつかの異なるアクションを実行したいと思います。

4

1 に答える 1

5

この回答のようなものを使用しない限り、元のシステムのユーザー名は記録されません。つまり、接続の一部としてユーザー名をプッシュします。リモートホストはSSH_CLIENT環境変数にエンコードされているため、特定できます。

fingerリモート システムにアクセスすることもできますがfingerd、実行している必要があり、最近では一般的なサービスではありません。

ユーザーに特定のキーを使用すると、幸運が得られます。これにはenvironment="NAME=value"authorized_keysファイルなどのキーの先頭にオプションを設定して、接続したリモートユーザーを特定することができます。例えば

environment="REMOTEUSER=fred" ssh-rsa <blahblahkey> <comment>

キーでのオプションの使用は、sshd 構成で設定されてenvironmentいる場合にのみ機能します。そうでない場合、行は無視され、パスワードの入力を求められます。PermitUserEnvironmentauthorized_keys

于 2013-01-02T12:17:15.233 に答える