Eu uso a porta 22 somente para o acesso ssh da intranet.
Para acesso via internet, eu uso uma porta personalizada (incomum).
Isso tem o benefício de reduzir a carga gerada pelos filhos de script que estão examinando a porta 22 para "nomes de usuários conhecidos"
Os processos external sshd são controlados por xinetd
e executados em paralelo ao processo internal sshd.
No exemplo a seguir, uso a porta 12345.
Você está livre para alterar isso para qualquer número de porta disponível no seu sistema.
Talvez um valor mais alto também torne um pouco mais improvável que essa porta seja verificada por uma "varredura rápida de porta".
A configuração xinetd
é:
service ssh-external
{
socket_type = stream
wait = no
protocol = tcp
type = UNLISTED
user = root
server = /usr/sbin/sshd
server_args = -i -f /etc/ssh/external-sshd.config
port = 12345
log_on_failure += USERID
}
O arquivo /etc/ssh/external-ssdh.config
pode ser uma cópia da sua configuração usual de sshd
.
Assegure-se de que as seguintes instruções estejam configuradas:
Port 12345
AddressFamily inet
Sugiro também impor a autenticação de chave pública e desativar a autenticação de senha para o acesso à Internet:
PasswordAuthentication no
PermitEmptyPasswords no
ChallengeResponseAuthentication no