Como ativar o sshd no Fedora 11?

3

Acabei de instalar o Fedora 11 no meu sistema de desktop e gostaria de ter sshd funciona. Estes são os passos que fiz:

  1. Ativou o sshd como um serviço confiável usando system-config-firewall
  2. Reinicia o sshd como um serviço usando service restart sshd

É possível uma conexão SSH com o host local, mas ainda não consigo usar uma conexão SSH de uma máquina remota. Há algo que eu esteja sentindo falta?

    
por vivekian2 24.06.2009 / 03:21

8 respostas

5

1 Desativar o firewall para hospedar (apenas o tempo suficiente para verificar se não é o firewall

2 Abra um terminal, su no usuário raiz e digite /etc/init.d/sshd start Isso, pelo menos, lhe dará quaisquer erros que você possa estar vendo. Espero que ele reconheça o começo

3 Ativar firewall Verifique se o firewall não é o problema conectando-se a partir do host remoto

Quaisquer erros, se você postar, todos nós poderemos ajudar.

Você pode notar no passo 2 que o computador está gerando suas chaves, o que pode não ter sido feito antes. Isso explicaria porque não estava funcionando antes. Se não criou as chaves, isso significa que elas foram geradas anteriormente e você é O.K.

    
por 24.06.2009 / 03:38
6

Eu estava cometendo um erro estúpido.

O problema é que eu estava tentando acessar o endereço IP errado. O endereço IP foi alterado pelo DHCP quando a máquina foi reinicializada e eu continuei tentando acessar o endereço IP antigo.

Esta é a razão pela qual a conexão SSH local estava funcionando, mas não remotamente. Eu deveria ter corrido ifconfig antes para verificar o endereço IP.

Deve haver apenas dois passos para isso:

  • Ative o sshd como um serviço confiável usando system-config-firewall
  • Inicie o sshd como um serviço usando service sshd start

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

    
por 25.06.2009 / 20:08
3

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 para fazê-lo. Meu laptop tem rodado o F11 desde o início de abril com o SELinux no modo enforcing sem nenhum problema.

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

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

Por favor, poste a saída de / var / log / secure e / var / log / messages por volta do momento em que você está tentando iniciar o sshd e veremos se posso ajudá-lo.

    
por 24.06.2009 / 08:19
3

SSHD ativável usando este comando systemctl enable sshd.service

su -
systemctl enable sshd.service
systemctl start sshd.service
    
por 22.12.2011 / 18:40
0

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

    
por 24.06.2009 / 04:09
0

Você também pode querer verificar seus arquivos hosts.deny e hosts.allow em / etc. Em algumas distribuições, elas são definidas por padrão para bloquear todas as conexões de fontes externas, mas permitem conexões da máquina local. Pode ser por isso que você é capaz de se conectar localmente, mas não de um sistema remoto.

Se hosts.deny tiver a linha "ALL: *" ou talvez "ALL: PARANOID" presente e descomentada, isso rejeitará todas as conexões de fontes externas não explicitamente permitidas no arquivo hosts.allow. Este é o estado padrão em algumas distribuições, pois ajuda a bloquear o sistema de adulterações externas desde o início. Se o arquivo não tiver nada além de comentários, esse não é o problema.

Assumindo que a linha "ALL: PARANOID" está presente em hosts.deny e você a deixa em paz, para habilitar conexões ssh de uma fonte específica você precisa adicionar uma linha "sshd:" ao seu arquivo hosts.allow. pode ser um IP específico, FQDN ou uma versão curinga (por exemplo, sshd: 192.168.0. * ou * .mydomain.net). Este arquivo normalmente possui uma linha "ALL: 127.0.0.1" permitindo qualquer tipo de conexão da máquina local, e é por isso que o ssh pode estar trabalhando a partir da máquina local, mas não de uma máquina externa.

    
por 24.06.2009 / 08:02
0

Algumas abordagens de depuração:

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

Assumindo que sshd esteja em execução, queremos ver o tráfego da rede e o que está acontecendo no processo sshd do servidor e o cliente ssh process:

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

  2. Aumente o registro do ssh em / etc / ssh / sshd_config e verifique os registros.

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

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

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

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

Interrompa também o serviço sshd no servidor e execute o daemon sshd a partir da linha de comandos no modo de depuração. por exemplo:

service sshd stop;pkill sshd

sshd -d3

ou

service sshd stop;pkill sshd

strace sshd -d3 .

O -d3 executa o sshd com um nível de depuração alto e o impede de separar / bifurcar. Ou seja será a única instância em execução e a saída deverá ir para o seu terminal

Você também pode querer usar o -oLogLevel=DEBUG na linha de comando do cliente para torná-lo mais ruidoso.

Se você estiver usando chaves para autenticação, verifique o diretório de que suas chaves estão em e, g, ~/.ssh têm permissões permanentemente suficientes. por exemplo, chown -R ${USERID}. .sshd; chmod -R 700 .sshd .

    
por 24.06.2009 / 17:09
0

Para se certificar de que foi configurado e está em execução:

chkconfig --list sshd
service sshd status

Uma vez que eu sabia que estava em execução, verifiquei se ele apareceria na inicialização. Em seguida, para que funcione, 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 o iptables, usando:

service iptables restart

Eu também desativei o SELINUX editando /etc/selinux/config e definindo:

SELINUX=disabled

Eu posso ter reiniciado para ter certeza. Essas são as etapas realizadas para obter logins SSH remotos.

NOTA: Eu configurei sshd.conf para NÃO permitir logins de raiz. Verifique novamente o seu arquivo sshd.conf atual para essa configuração se você tentar fazer o login como usuário root. Não é aconselhável permitir que o root faça o login remotamente por motivos de segurança.

    
por 24.06.2009 / 04:56