SSH e acesso

Acesso SSH sem senha

Crie uma nova chave. Escolha o local padrão do arquivo quando solicitado. Pressione ++enter++ quando for solicitada uma passphrase.

ssh-keygen -t ed25519

O comando vai criar dois arquivos.

.ssh/id_ed25519
.ssh/id_ed25519.pub

Copie a chave pública (id_ed25519.pub) para o servidor remoto.

ssh-copy-id -i .ssh/id_ed25519.pub -p 22 login@remoteserver

tail -f em um servidor remoto

ssh user@host "tail -f /var/log/messages"

Bloquear SSH para um usuário ou grupo

/etc/ssh/sshd_config

# bloqueia um usuário
DenyUsers user1 user2 user3

# bloqueia um grupo:
DenyGroups group1 group2 group3

Salve o arquivo e reinicie o daemon

sudo service ssh restart

Jail de SFTP

Se você já configurou um servidor FTP para permitir que os usuários acessem apenas o próprio diretório home, saiba que é possível fazer o mesmo com SFTP. E até impedir que o usuário acesse o servidor via SSH.

Configurar o servidor OpenSSH

/etc/ssh/sshd_config

Subsystem sftp internal-sftp

[...]

Match group filetransfer
    ChrootDirectory %h
    X11Forwarding no
    AllowTcpForwarding no
    ForceCommand internal-sftp

Reinicie o OpenSSH

service ssh restart

Modificar contas de usuário

Crie um grupo de sistema, que será usado por todos os usuários que podem acessar o servidor _somente_ via SFTP.

addgroup --system filetransfer

Modifique as contas de usuário para restringir o acesso apenas ao SFTP. Esses comandos precisam ser executados para cada conta de usuário criada.

usermod -G filetransfer the_user
chown root:root /home/the_user
chmod 755 /home/the_user

As contas de usuário que podem acessar o servidor via SSH não devem ser alteradas, nem adicionadas ao grupo filetransfer.

Feito isso, é necessário criar um diretório dentro do home de cada usuário. Esse diretório será o lugar onde o usuário pode colocar seus arquivos normalmente.

cd /home/the_user
mkdir public_html
chown the_user:filetransfer *

Com essas configurações, os usuários poderão acessar o servidor via SFTP e adicionar/remover arquivos no diretório public_html, mas não poderão adicionar arquivos em outros lugares, nem acessar o servidor via SSH.

referência: Limiting Access with SFTP Jails on Debian and Ubuntu