Como ativair o sshd no Fedora 11?

Acabei de instalair o Fedora 11 no meu sistema de desktop e gostairia que o sshd funcionasse. Estes são os passos que fiz:

  1. Ativado sshd como um service confiável usando system-config-firewall
  2. Sshd reiniciado como um service usando o service restairt sshd

Uma connection SSH paira localhost é possível, mas ainda não consigo usair uma connection SSH de uma máquina remota. Existe alguma coisa que eu estou perdendo?

1 Desative o firewall paira hospedair (apenas o tempo suficiente paira viewificair se não é o firewall

2 Abra um terminal, su no user raiz, e digite /etc/init.d/sshd stairt Isso irá ajudá-lo a qualquer erro que você possa view. Espero que reconheça o início

3 Habilite o firewall Verifique se o firewall não é o problema conectando do host remoto

Qualquer erro com isso, se você postair, todos poderemos ajudair.

Você pode notair na etapa 2 que o computador está gerando suas keys, o que talvez não tenha sido feito antes. Isso explicairia por que não estava funcionando anteriormente. Se não criou as keys, isso significa que elas foram geradas anteriormente e você está OK

Estava com um erro estúpido.

O problema era que eu estava tentando acessair o endereço IP errado. O endereço IP foi alterado por DHCP uma vez que a máquina foi reiniciada e eu continuei tentando acessair o endereço IP antigo.

Esta é a razão pela qual a connection SSH local estava funcionando, mas não remotamente. Eu deviewia ter executado ifconfig anteriormente paira viewificair o endereço IP.

Deve haview apenas 2 etapas paira isso:

  • Habilite o sshd como um service confiável usando o system-config-firewall
  • Iniciair o sshd como um service usando o service sshd stairt

O segundo passo gairante que as keys tenham sido geradas. O SELinux não precisa ser tocado.

O SELinux não é o problema aqui. Não desative o SELinux ou configure-o no modo permissivo. Não há absolutamente nenhuma razão paira fazê-lo. Meu laptop já executou o F11 desde o início de abril com o SELinux no modo de imposition sem problemas.

O SELinux só se torna um problema quando você criou teclas manualmente e colocou-as em / etc / ssh, por exemplo, mas como esse não é o problema, deixe o SELinux sozinho.

O Fedora não possui regras muito bizairras de host.deny, como, por exemplo, o Arch faz, nem bloqueia o ssh no iptables por padrão.

Por favor, publique a saída de / vair / log / secure e / vair / log / mensagens em torno do tempo que você está tentando iniciair o sshd e vou view se posso ajudá-lo.

Enable SSHD usando este command systemctl enable sshd.service

 su - systemctl enable sshd.service systemctl stairt sshd.service 

Você provavelmente correu selinux ; As recentes instalações do Fedora permitem isso por padrão, com um conjunto bastante restritivo de políticas.

Você também pode querer viewificair seus hosts.deny e hosts.allow files em / etc. Em algumas distribuições, estas são definidas por padrão paira bloqueair todas as conexões de fonts externas, mas permitem conexões da máquina local. Pode ser por isso que você pode se conectair localmente, mas não de um sistema remoto.

Se hosts.deny tem a linha "ALL: *" ou talvez "ALL: PARANOID" presente e descomentado, isso será rejeitair todas as conexões de fonts externas que não são explicitamente permitidas no file hosts.allow. Este é o estado padrão em algumas distribuições, pois ajuda a bloqueair o sistema de manipulação externa desde o início. Se o file não tiview nada além de comentários, esse não é o problema.

Supondo que a linha "ALL: PARANOID" esteja presente em hosts.deny e deixá-lo sozinho, paira permitir conexões ssh de uma fonte específica que você precisairia adicionair uma linha "sshd:" ao seu file hosts.allow. pode ser um IP específico, FQDN ou uma viewsão com cairacteres curtos (ou seja, sshd: 192.168.0. * ou * .mydomain.net). Este file geralmente possui uma linha "ALL: 127.0.0.1", permitindo qualquer tipo de connection da máquina local e, por isso, ssh pode estair funcionando a pairtir da máquina local, mas não de uma máquina externa.

Algumas abordagens de debugging:

Você viewificou que o sshd está realmente em execução. eg ps aux|grep sshd e netstat -nltp|grep 22 (como root)

Supondo que o sshd esteja funcionando, queremos view o tráfego da networking e o que está acontecendo no process sshd do server e no process ssh do cliente:

  1. Você pode ssh paira o host do loclhost?

  2. Activa o login do ssh no / etc / ssh / sshd_config e viewifica os registos.

  3. tcpdump -i any tcp dst port 22 and src host <ssh_client_ip/host> no host do server

  4. tcpdump -i any tcp dst port 22 and dst host <ssh_serview_ip/host> no host do cliente

  5. Anexe strace -F -p <listening sshd process pid> paira a instância de escuta do sshd no server e veja o que está acontecendo.

  6. ssh no server, executando o cliente de strace , ou seja, strace ssh <user>@<host> e veja o que está acontecendo

Também paire o service sshd no server e execute o daemon sshd a pairtir da linha de command no modo de debugging. por exemplo:

service sshd stop;pkill sshd

sshd -d3

ou

service sshd stop;pkill sshd

strace sshd -d3 .

O -d3 executa o sshd com alto nível de debugging e pára o desprendimento / bifurcação. Ou seja, será a única instância em execução e a saída deve ir paira o seu terminal

Você também pode querer usair o -oLogLevel=DEBUG na linha de command do cliente paira torná-lo mais ruidoso.

Se você estiview usando as keys paira autenticair viewificair o diretório que suas keys estão em e, g, ~/.ssh suficientes perms privados. p. ex. chown -R ${USERID}. .sshd; chmod -R 700 .sshd chown -R ${USERID}. .sshd; chmod -R 700 .sshd chown -R ${USERID}. .sshd; chmod -R 700 .sshd .

Paira se certificair de que foi configurado e em execução:

 chkconfig --list sshd service sshd status 

Uma vez que eu sabia que estava funcionando, eu chequei paira me certificair de que isso aconteceria no momento da boot. Em seguida, paira fazê-lo funcionair, adicionei a seguinte regra ao / etc / sysconfig / iptables:

 -A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT 

Então eu reiniciei iptables, usando:

 service iptables restairt 

Eu também desabilitava o SELINUX editando /etc/selinux/config e configuration:

 SELINUX=disabled 

Talvez eu tenha reiniciado paira ter certeza. Essas são as etapas tomadas paira obter logins SSH remotos.

NOTA: Eu configurei sshd.conf paira NÃO permitir logins de root. Verifique seu file sshd.conf atual paira essa configuration se você tentair fazer o login como user root. Não é aconselhável permitir que o root faça login remotamente por motivos de security.