ユーザーがloginShell=/sbin/nologin
はまだ可能です
ssh user@machine [command]
ユーザーがホームディレクトリに認証に使用できる適切なsshキーを持っていると仮定しますか?
私の目標は、ユーザーをnologinとして保持することですが、ネットワーク上の他のいくつかのマシンでコマンドを実行でき( 'Sudo -u'による使用と同様)、これが妥当なコースかどうか疑問に思っています。
ユーザーのシェルとして/sbin/nologin
を設定すると(または/bin/false
または/bin/true
は ほぼ同等 )、ユーザーがログインしてコマンドを実行することを禁止します。 SSHは常にユーザーのログインシェルを呼び出してコマンドを実行するため、ログインシェルをいくつかのコマンドを実行できるシェルに設定する必要があります。
ユーザーがいくつかのコマンドのみを実行できるようにするいくつかの制限付きシェルがあります。たとえば、 rssh と scponly はどちらも、ユーザーがいくつかの事前定義されたコマンド(scp
、sftp-server
、rsync
、…など)を実行できるシェルです。 Linuxでのユーザーアクセスの制限 および SCPのシェルが必要ですか? も参照してください。
答えはノーのようです。
ssh user@machine [command]
sshキーを配置すると、結果は次のようになります。
This account is currently not available
コマンドを実行するのではなく、bashへのアクセスを与える必要があるようです。