
Eu tenho um Ubuntu VPS que às vezes uso como SOCKS
proxy para navegar na Internet. Eu uso o comando ssh dynamic port-forwarding da seguinte maneira:
ssh -fNTC -D 1080 username@vpsIP
em seguida, defina o proxy do meu navegador localhost:1080
como SOCKS
.
Eu criei um usuário adicional com o nome de usuário 'caras' no VPS para que alguns amigos também possam encaminhar a porta ssh e obter algo semelhante a uma VPN (não precisamos da parte de rede da VPN).
Agora, eu realmente não quero executar meu VPS como um servidor VPN, então gostaria de continuar com o encaminhamento de porta ssh ou algo semelhante.
Como faço para evitarcarasusuário seja capaz de abrir um shell seguro e começar a bagunçar as coisas no VPS?
Responder1
Que tal remover o shell do usuário 'dudes'?
usermod -s /sbin/nologin dudes
ou se o seu sistema operacional não tiver nologin :
usermod -s /bin/false dudes
Responder2
Existem poucas possibilidades. Mas o mais fácil provavelmente será a opção ForceCommand
em sshd_config
. Não permitirá a execução de nenhum comando e se quiserem executar algum, executará este.
Exemplo de trecho de sshd_config
:
Match User dudes #your dudes user -- you can also match group
ForceCommand /bin/true
Responder3
Se você usar autenticação baseada em chave (o que eu recomendo fortemente), você poderá limitar o que cada chave pode fazer por meio do authorized_keys
arquivo.
Especificar command="/bin/false"
na frente da chave impediria que eles invocassem um shell ou qualquer comando diferente daquele que você inseriu authorized_keys
.
Existem outras restrições que você pode impor por meio do authorized_keys
. Para obter uma lista completa, consulte a sshd
página de manual.