Quais objetivos você tem em mente para sua segurança? Para quem você está protegendo isso?
De amplo espectro, use iptables para a porta de firewall 22 contra qualquer IP indesejado, permitindo especificamente os IPs que você deseja, bloqueando todo o resto.
Você também pode especificar se os usuários podem usar senhas para fazer login ou se precisam ter certificados, o que pode ser uma boa ideia se você suspeitar que as pessoas tentarão invadir as contas de outras pessoas.
Mas, para detalhes, precisamos saber o que você está fazendo.
EDITAR
OK, tendo em conta o que você disse abaixo nos comentários, você deseja impedir o acesso não autorizado à máquina. A segunda parte, garantindo que seus usuários não façam nada de mal, está além do escopo desta questão em particular, mas é um tópico valioso também. Amplo, mas vale a pena perguntar.
O arquivo principal que você precisa editar é / etc / ssh / sshd_config e após cada mudança de configuração, você precisa executar o /etc/init.d/sshd restart (ou /etc/init.d/ssh se for um sistema debian / ubuntu). Quando você estiver aprendendo a configurar o ssh, é uma boa ideia estar logado no console local, já que um erro de configuração cortará seu acesso.
Etapa 1: certifique-se de que o root não possa fazer login via ssh.
PermitRootLogin no
Se você absolutamente precisa ter logins de root, você pode configurá-lo para "sem senha", o que requer que o usuário conectado apresente um certificado e seja autenticado assim.
Passo 2: Permitir (ou negar) qualquer usuário específico que deve (ou não) ter acesso
Existem várias diretivas de configuração para isso, como DenyUsers, AllowUsers, DenyGroups e AllowGroups. Estes levam listas de usuários ou grupos separados por espaços.
Uma das coisas mais legais é que você pode especificar user @ host, então se você quiser que o Bob possa se conectar à sua máquina doméstica, você pode dizer
AllowUsers [email protected]
Etapa 3: permitir explicitamente a autenticação de chave pública
PubkeyAuthentication yes
Este é o padrão, mas queremos garantir que ele tenha efeito, pois desativamos a capacidade de os usuários digitarem senhas em ...
Etapa 4: desativar a autenticação por senha
As senhas podem ser roubadas, ouvidas ou copiadas da nota sob o teclado. Certificados são mais difíceis de fazer. Certifique-se de que as pessoas não possam usar senhas dessa maneira:
PasswordAuthentication no
Etapa 5: verifique se os clientes usam protocolos modernos
Protocol 2
O OpenSSH suporta dois protocolos, chamados criativamente, "1" e "2". "1" é antigo, permite coisas como criptografia DES e outras coisas inseguras.
Você precisará obter certificados de massa para seus usuários para se conectar agora. A maneira mais fácil é usar o PuttyGEN, que está disponível no site do Putty ( link ).
Espero que ajude!