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?


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

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.


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 ?


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.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.