この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の許可されたログインシェルのリストに追加する必要がないように見えることに注意してください