web-dev-qa-db-ja.com

nologinユーザーを使用してSSH経由でコマンドを実行できますか?

ユーザーがloginShell=/sbin/nologinはまだ可能です

ssh user@machine [command]

ユーザーがホームディレクトリに認証に使用できる適切なsshキーを持っていると仮定しますか?

私の目標は、ユーザーをnologinとして保持することですが、ネットワーク上の他のいくつかのマシンでコマンドを実行でき( 'Sudo -u'による使用と同様)、これが妥当なコースかどうか疑問に思っています。

13
Centimane

ユーザーのシェルとして/sbin/nologinを設定すると(または/bin/falseまたは/bin/trueほぼ同等 )、ユーザーがログインしてコマンドを実行することを禁止します。 SSHは常にユーザーのログインシェルを呼び出してコマンドを実行するため、ログインシェルをいくつかのコマンドを実行できるシェルに設定する必要があります。

ユーザーがいくつかのコマンドのみを実行できるようにするいくつかの制限付きシェルがあります。たとえば、 rsshscponly はどちらも、ユーザーがいくつかの事前定義されたコマンド(scpsftp-serverrsync、…など)を実行できるシェルです。 Linuxでのユーザーアクセスの制限 および SCPのシェルが必要ですか? も参照してください。

答えはノーのようです。

ssh user@machine [command]

sshキーを配置すると、結果は次のようになります。

This account is currently not available

コマンドを実行するのではなく、bashへのアクセスを与える必要があるようです。

1
Centimane