Configuração para SSH de várias portas

24

Preciso ouvir o SSH em duas portas: 22 para hospedar acesso de administrador e 26 para acesso regular. Eu gostaria de proibir o login root em 26 e proibir todos os IPs internos, exceto a porta 22. O último pode ser feito com as regras do iptables, mas eu não conheço o primeiro. Alguma ideia?

CKoning
fonte
3
o root nunca deve conseguir fazer login via ssh; período; fim da história; buck para aqui; Nunca. Se você precisar de acesso root, faça login através do usuário normal e eleve com suou melhor ainda sudo.
Chris S
6
Não há problema em permitir logins raiz sobre ssh se você os restringir à autenticação de chave ou até autenticação de senha se a sessão for restrita aos endereços IP que você controla. 'Nunca' é muito forte.
precisa
3
Eu argumentaria que há situações em que faz sentido ter um logon root (por exemplo, corrupção do sistema de arquivos na partição / home, impedindo o logon como usuário padrão). Uma coisa que pode ajudar é definir o PermitRootLoginparâmetro sshd_config para without-password. Isso permite apenas que o login root via ssh ocorra com uma chave ssh. A autenticação de senha não funcionará.
ewwhite
Este artigo pode ser útil: everythingsysadmin.com/2010/09/…
TomOnTime 27/06

Respostas:

27

Em /etc/ssh/sshd_config, faça a seguinte alteração. Procure a linha que diz Port 22e adicione uma linha semelhante abaixo dela.

Port 22
Port 26

Salve o arquivo e reinicie o daemon sshd.

Eu faço isso em situações em que o ssh está ativado para usuários internos na porta 22, mas requer conectividade externa, por exemplo, na porta 2222. Isso vincula o daemon ssh aos dois números de porta.

ewwhite
fonte
6
E como você restringe os logins raiz à porta 22 agora?
faker
@faker Eu vi o uso de restrições firewall / rede para fornecer apenas uma whitelist de acesso de IP à porta regular de 22.
ThorSummoner
10

Você pode usar a -fopção sshd para especificar um arquivo de configuração alternativo. No arquivo de configuração, você precisaria usar o

Port 26 

diretiva para alterar a porta na qual o sshd está escutando.

conjunto

PermitRootLogin no

desativar logins raiz

Você pode fazer algo como

/usr/sbin/sshd -f /etc/ssh/sshd_config_port_26

Você pode copiar o script de inicialização padrão do sshd e modificá-lo para poder iniciar o serviço da porta 26 na inicialização.

Por que você está fazendo isso ?

Chegou a hora
fonte
1
Em vez de ter dois arquivos de configuração completos, se você quisesse que os servidores fossem essencialmente similares, não seria mais direto e apropriado adicionar apenas?-o PermitRootLogin yes -p 26
JamesTheAwesomeDude
3

Supondo que o sshd seja executado com um arquivo de configuração específico da linha de comando, você poderá criar uma segunda configuração que seja executada na porta 26 e executar um segundo script de inicialização referente a essa porta.

uSlackr
fonte