Come triggersre sshd su Fedora 11?

Ho appena installato Fedora 11 sul mio sistema desktop e vorrei avere un lavoro sshd . Questi sono i passi che ho fatto:

  1. Abilitato sshd come un servizio attendibile utilizzando system-config-firewall
  2. Riavviato sshd come servizio utilizzando il service restart sshd

È ansible un collegamento SSH con localhost, ma non riesco ancora a utilizzare una connessione SSH da una macchina remota. C'è qualcosa che mi manca?

  • Quali opzioni sono disponibili per garantire il trasferimento dei dati all'interno di una networking semi-privata?
  • Qual è la differenza tra unlink e rm?
  • Come riparare un filesystem ext3 diverso da fsck
  • Scopri quale partizione una directory è situata su Linux?
  • Imansible aggiungere un path statico: SIOADDRT: la networking non è raggiungibile
  • Come vedere cosa sta causando failcnt su tcpsndbuf
  • 8 Solutions collect form web for “Come triggersre sshd su Fedora 11?”

    1 Distriggersre il firewall per ospitare (solo abbastanza a lungo per verificare che non sia il firewall

    2 Aprire un terminal, su nell'utente root e digitare /etc/init.d/sshd start Questo atleast vi darà gli eventuali errori che si possono vedere. Speriamo che riconoscerà l'inizio

    3 Abilita firewall Verificare che il firewall non sia il problema collegandosi dall'host remoto

    Eventuali errori da questo, se inviate, potremmo essere tutti in grado di aiutare.

    Nel passaggio 2 si può notare che il computer sta generando le chiavi, che potrebbero non essere state eseguite prima. Ciò spiega perché non funzionava prima. Se non creava le chiavi, ciò significa che sono state precedentemente generate e sei giusto

    Stavo facendo uno stupido errore.

    Il problema era che stavo cercando di accedere all'indirizzo IP errato. L'indirizzo IP è stato modificato da DHCP una volta che la macchina è stata riavviata e ho continuato a cercare di accedere al vecchio indirizzo IP.

    Questo è il motivo per cui la connessione SSH locale funzionava ma non in remoto. Avrei dovuto eseguire ifconfig prima per controllare l'indirizzo IP.

    Ci dovrebbe essere solo due passaggi:

    • Attivare sshd come un servizio attendibile utilizzando system-config-firewall
    • Avviare sshd come servizio che utilizza il service sshd start

    Il secondo passo assicura che le chiavi siano state generate. SELinux non deve essere toccato affatto.

    SELinux non è il problema qui. Non distriggersre SELinux o impostarla in modalità permissiva. Non c'è assolutamente alcuna ragione per farlo. Il mio computer porttile ha eseguito F11 dall'inizio di aprile con SELinux in modalità di attuazione senza alcun problema.

    SELinux diventa un problema solo quando si hanno creati manualmente chiavi e li hanno inseriti in / etc / ssh, ad esempio, ma poiché questo non è il problema, lasciare SELinux da sola.

    Fedora non dispone di regole di hosts.deny molto bizzarre, come ad esempio Arch, né blocca ssh in iptables per impostazione predefinita.

    Inserisci l'output di / var / log / secure e / var / log / messages attorno all'ora che stai cercando di avviare sshd e vedrò se posso aiutarti.

    Enabled SSHD con questo command systemctl enable sshd.service

     su - systemctl enable sshd.service systemctl start sshd.service 

    Probabilmente avete il selinux in esecuzione; le recenti installazioni di Fedora lo consentono per impostazione predefinita, con un set limitato di criteri.

    Potresti anche controllare i file hosts.deny e hosts.allow in / etc. In alcune distribuzioni, queste vengono impostate per impostazione predefinita per bloccare tutte le connessioni da fonti esterne, ma consentono qualsiasi connessione dalla macchina locale. Questo può essere il motivo per cui è ansible connettersi localmente ma non da un sistema remoto.

    Se hosts.deny ha la row "ALL: *" o forse "ALL: PARANOID" presente e non commentato, questo rifiuterà tutte le connessioni da fonti esterne non consentite esplicitamente nel file hosts.allow. Questo è lo stato predefinito in alcune distribuzioni in quanto aiuta a bloccare il sistema dalla manomissione esterna dall'inizio. Se il file non ha commenti ma questo non è il problema.

    Supponendo che la row "ALL: PARANOID" sia presente in hosts.deny e si lascia da solo, per abilitare le connessioni ssh da una specifica fonte, è necessario aggiungere una row "sshd:" al file hosts.allow. può essere un IP specifico, un FQDN o una versione wildcard (es. sshd: 192.168.0. * o * .mydomain.net). Questo file ha in genere una linea "ALL: 127.0.0.1" che consente qualsiasi tipo di connessione dalla macchina locale, motivo per cui ssh può lavorare dalla macchina locale ma non da una macchina esterna.

    Alcuni approcci di debugging:

    Hai verificato che sshd è in esecuzione. ad esempio ps aux|grep sshd e netstat -nltp|grep 22 (come root)

    Supponendo che sia in esecuzione sshd , vogliamo vedere il traffico di networking e cosa accade nel process sshd del server e nel process ssh del client:

    1. Puoi ssh all'host da loclhost?

    2. Accendere la logging di ssh in / etc / ssh / sshd_config e controllare i registri.

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

    4. tcpdump -i any tcp dst port 22 and dst host <ssh_server_ip/host> sull'host client

    5. Colbind strace -F -p <listening sshd process pid> all'istanza di ascolto di sshd sul server e vedere cosa sta succedendo.

    6. ssh nel server, eseguendo il client da strace , cioè strace ssh <user>@<host> e vedere cosa sta succedendo

    Arrestare anche il servizio sshd sul server e eseguire il demone sshd dalla row di command in modalità di debug. per esempio:

    service sshd stop;pkill sshd

    sshd -d3

    o

    service sshd stop;pkill sshd

    strace sshd -d3 .

    Il -d3 esegue sshd con un alto livello di debug e lo smette di staccare / forking. Quindi sarà l'unico esempio in esecuzione e l'output dovrebbe andare al tuo terminal

    Potresti anche utilizzare il -oLogLevel=DEBUG sulla row di command client per renderlo più rumoroso.

    Se si utilizzano chiavi per verificare l'authorization, verificare che le chiavi siano in e, g, ~/.ssh sufficienti permmi privati. ad esempio chown -R ${USERID}. .sshd; chmod -R 700 .sshd chown -R ${USERID}. .sshd; chmod -R 700 .sshd chown -R ${USERID}. .sshd; chmod -R 700 .sshd .

    Per verificarne la configuration e l'esecuzione:

     chkconfig --list sshd service sshd status 

    Una volta che sapevo che stava funzionando, ho controllato per assicurarsi che sarebbe venuto in fase di avvio. Poi, per farlo funzionare, ho aggiunto la seguente regola a / etc / sysconfig / iptables:

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

    Poi ho riavviato iptables, utilizzando:

     service iptables restart 

    Avevo anche distriggersto SELINUX modificando /etc/selinux/config e impostando:

     SELINUX=disabled 

    Potrei essere riavviato per essere sicuro. Questi sono i passaggi adottati per get login remoti SSH.

    NOTA: Ho configurato sshd.conf per NON consentire l'accesso di root. Doppio controllo del file corrente sshd.conf per l'impostazione se si tenta di accedere come utente root. Non è veramente consigliabile permettere a root di accedere in remoto per motivi di sicurezza.

    Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.