Permitindo scp mas não ssh - sem scponly

8

Estou migrando um servidor Debian para o Ubuntu 16.04. Um dos pacotes no servidor Debian é o scponly , que atua como um shell e permite conexões ssh apenas para propósitos scp (não login ou executando nada além do binário scp ). Detalhes podem ser encontrados aqui . Este pacote já está no Debian através de pelo menos 2 upgrades de servidores físicos, incontáveis upgrades de SO e provavelmente datam de cerca de 2007.

scponly não está em nenhum repositório 16.04 e não é compilado no launchpad. Embora eu seja bem capaz de instalá-lo a partir da fonte, isso me fez pensar se nos últimos 10 anos há uma maneira melhor de configurar o ssh para permitir somente comandos scp, que é mais amigável do Ubuntu 16.04, e menos baseado no dim e passado distante. Alguma idéia?

    
por abligh 06.07.2016 / 20:08

1 resposta

11

De acordo com este serverfault.com , responda Permitir SCP, mas não é um login real usando SSH , uma maneira atualmente suportada é usar rssh , que está disponível no repositório universe :

sudo apt-add-repository universe

sudo apt-get install rssh

Para permitir o SCP, você deve remover o comentário da linha correspondente no arquivo /etc/rssh.conf (mais quaisquer outros protocolos que você deseja ativar):

allowscp
#allowsftp
#allowcvs
#allowrdist
#allowrsync
#allowsvnserve

Então, é apenas uma questão de alterar o shell de login do usuário para o shell rssh, por exemplo

sudo chsh -s /usr/bin/rssh steeldriver

Você pode então testar se o SCP funciona, por exemplo

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

mas o SSH deve falhar com uma mensagem de rejeição como

$ 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.

Note que não parece ser necessário adicionar /usr/bin/rssh à lista de shells de login permitidos em / etc / shells

    
por steeldriver 06.07.2016 / 22:44

Tags