É bem possível, e há várias maneiras de fazer isso. Existem kludges e soluções elegantes. Tudo depende dos detalhes do que você quer fazer e quanto tempo deseja investir.
Se você tem alguns usuários remotos que você quer restringir ao scp / sftp, você pode querer olhar para scponly e este conjunto de instruções sobre como fazê-lo funcionar (assume Debian).
Você também pode tentar o rssh , que é outro substituto do shell para fazer a mesma coisa.
Você também deve criar um grupo para esses usuários restritos e (é claro) adicionar os usuários ao grupo. Em seguida, adicione algo assim ao seu arquivo sshd_config
(geralmente encontrado em /etc/ssh
ou /etc
):
Match Group sftp-only
ForceCommand internal-sftp
#ChrootDirectory /somewhere/%u # Optional chroot jail
#AllowTcpForwarding no # Disable TCP forwarding
#X11Forwarding no # Disable X11 forwarding
#Umask 700 # Set the umask
Isso desativará / forçará coisas como o encaminhamento de TCP para esses usuários. Você obviamente precisa remover o #
dos que você precisa. Verifique a% man_de% manpage para mais detalhes sobre isso.
Dos kludges, o mais simples é alterar o shell do usuário para sshd_config(5)
ou false
(no Debian, nologin
e /bin/nologin
respectivamente). Um kludge um pouco mais complexo é colocar um cheque em /usr/sbin/nologin
para o usuário ou o grupo do usuário e registrá-lo com uma mensagem "não permitido para fazer login". Se você gosta de proteger suas apostas (eu faço), você pode fazer isso também . Apenas lembre-se de que não é suficiente por si só.
Se você tem o Livro sobre caracóis , capítulo 8 (disponível gratuitamente como amostra) também tem algumas receitas.