nologinユーザーでsshを介してコマンドを実行できますか?


13

ユーザーが持ってloginShell=/sbin/nologinいる場合でも、

ssh user@machine [command]

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

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


1
動作するはずです。command実行される代わりに、ログインシェルの。
オリオン2015

1
これは、/sbin/nologinシェルとして構成する目的を無効にします。アカウントのセキュリティに懸念がある場合は、パスワード認証を無効にし、sshキーを使用するだけで十分です。
クリーク

@Creekログインシェルとシェルの他のインスタンスには違いがあります。したがって、彼が求めていることは、必ずしも/ sbin / nologinの目的を無効にするわけではありません。ログインシェルのコンテキスト外で何らかの作業を実行したい場合もあります。
マイケルマルティネス

7
@orion間違っています。コマンドはログインシェルによって実行さます。
Gilles 'SO-悪をやめる'

@MichaelMartinez彼の例のコンテキストでは、ユーザーのシェルが/sbin/nologinその場合、ユーザーはマシンでログインしたりコマンドを実行したりできません。cronjobsはユーザーとして実行sftpでき、セッションを開くように構成できますが、sshを介してシェルを開くことはできません
Creek

回答:


17

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

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


ありがとうございます。リモートコマンドを実行できるように、アカウントにログインシェルを与えることにしました。より良い解決策は、おそらく現在のユーザーとしてsshを使用し、sshコマンドに対してsudo -uを呼び出すことですが、私の場合には完全には適用できません。
Centimane、2015

1

答えはノーのようです。

ssh user@machine [command]

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

This account is currently not available

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


-4

それが可能かどうかはわかりませんが(テストするのは簡単です)、おそらく特定の方法で質問に答え、問題を解決する機能があります。

のキー行にコマンドを追加できauthorized_keysます。その場合、このコマンドは実行され、それ以外は何も実行されません。/sbin/nologinシェルはとにかく無視する必要があるので、これはうまくいくと思います。

ただし、許可するコマンドごとに異なるキーが必要になります。


残念ながら、私が必要とするソリューションはこれよりも柔軟でなければなりません
Centimane '10

テストが簡単な場合は、回答を書く前にテストする必要があります。
マイケルマルティネス

@MichaelMartinez質問する前に簡単なテストを行うのは質問者の仕事です。質問に答えなかったことに気づくことは難しくありませんが、質問の原因となった問題について提案しました。これは答えとして完全に適しています。これに反対票を投じるのは愚かです。最初のパラグラフなしで答えを批判しましたか?丁度。
Hauke Laging、2015

3
のコマンドauthorized_keysはログインシェルによって実行されるため、いいえ、これは機能しません(重要な設定を追加しないと機能しません)。(間違った答え「愚かな」を反対投票することはどうですか?他の人を尊重してください。)
Gilles「SO-邪悪なことをやめ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.