scpを許可するがsshは許可しない-scponlyなし


8

DebianサーバーをUbuntu 16.04に移行しています。Debianサーバー上のパッケージの1つは、scponlyシェルとして機能し、scp接続のみを許可します(ログインやscpバイナリ以外の実行は不可)。詳細はこちら。このパッケージは、すでに少なくとも2つの物理サーバーのアップグレード、無数のOSのアップグレード、そしておそらく2007年頃の日付でDebianに存在しています。

scponly16.04リポジトリにはなく、ランチパッドでコンパイルされていません。私はソースからそれをインストールすることはかなり可能ですが、これは過去10年以上の間に、scpをscpコマンドのみを許可するように構成するより良い方法があるかどうかを疑問に思いました。遠い過去。何か案は?

回答:


15

このserverfault.comの回答によると、SSHを使用してSCPを許可しますが、実際のログインは許可していません。現在サポートされている方法の1つは、をrssh使用することuniverseです。

sudo apt-add-repository universe

sudo apt-get install rssh

SCPを許可するには、/etc/rssh.confファイル内の対応する行(および、有効にするその他のプロトコル)のコメントを外す必要があります。

allowscp
#allowsftp
#allowcvs
#allowrdist
#allowrsync
#allowsvnserve

次に、ユーザーのログインシェルをrsshシェルに変更するだけです。たとえば、

sudo chsh -s /usr/bin/rssh steeldriver

次に、SCPが機能することをテストできます。

$ scp steeldriver@localhost:~/Pictures/somefile.png ./
steeldriver@localhost's password: 
somefile.png                                                               100%   34KB  33.7KB/s   00:00    
$

しかし、SSHは次のような拒否メッセージで失敗するはずです。

$ ssh steeldriver@localhost
steeldriver@localhost's password: 
Welcome to Ubuntu 14.04.4 LTS (GNU/Linux 3.13.0-88-generic x86_64)

 * Documentation:  https://help.ubuntu.com/

Last login: Wed Jul  6 16:23:47 2016 from localhost

This account is restricted by rssh.
Allowed commands: scp

If you believe this is in error, please contact your system administrator.

Connection to localhost closed.

/usr/bin/rssh/ etc / shellsの許可されたログインシェルのリストに追加する必要がないように見えることに注意してください


ありがとう。しばらく前に賛成して今日チェックしたので、受け入れられて動作します。
16
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.