GNU/Linux >> Linux Esercitazione >  >> Linux

Ssh 7.4 Pausa prolungata a "pledge:Network"?

Ho una macchina recentemente aggiornata a Fedora 25, che esegue openSSH 7.4. Da allora, l'accesso tramite ssh richiede 25-30 secondi su una LAN dove normalmente non ci vuole più di 1 secondo.

Esecuzione del client con -vvv , utilizzando l'autenticazione a chiave pubblica, la pausa si verifica qui.

debug1: Authentication succeeded (publickey).
Authenticated to crystalline.kodiak ([192.168.0.22]:127).
debug1: channel 0: new [client-session]
debug3: ssh_session2_open: channel_new: 0
debug2: channel 0: send open
debug3: send packet: type 90
debug1: Requesting [email protected]
debug3: send packet: type 80
debug1: Entering interactive session.
debug1: pledge: network

Sembra identico all'output su altre macchine (Fedora 23, openSSH 7.2) sulla stessa rete che non hanno alcun problema.

Guardando dall'alto sul lato server durante l'accesso, systemd si accende brevemente - alcuni secondi - all'inizio della pausa, qualcosa che non si nota sulle altre macchine. Dopodiché il sistema è completamente inattivo. Allo stesso modo, non ci sono attività insolite sul lato client.

Una volta effettuato l'accesso, va tutto bene.

Ho guardato lo scambio dal client con Wireshark e durante la pausa non ci sono pacchetti scambiati. Il client e il server sono su Ethernet tramite un router, quindi sono anche in grado di controllare l'indirizzo del server per qualsiasi traffico. Non sta succedendo niente.

Ecco il sshd_config :

Port 127
HostKey /etc/ssh/ssh_host_rsa_key
HostKey /etc/ssh/ssh_host_ecdsa_key
HostKey /etc/ssh/ssh_host_ed25519_key
IgnoreRhosts yes
SyslogFacility AUTHPRIV
LogLevel INFO
TCPKeepAlive yes
ClientAliveInterval 120
ClientAliveCountMax 15
PermitRootLogin yes
StrictModes yes
PubkeyAuthentication yes
AuthorizedKeysFile  .ssh/authorized_keys
PasswordAuthentication no
ChallengeResponseAuthentication no
KerberosAuthentication no
GSSAPIAuthentication no
UsePAM yes
X11Forwarding no
UsePrivilegeSeparation sandbox
AcceptEnv LANG LC_*
Subsystem   sftp    /usr/libexec/openssh/sftp-server  

Come da suggerimento di Sato Katsura nei commenti, ho provato con UseDNS no; questo non ha fatto alcuna differenza.

Risposta accettata:

Si scopre che questo è proprio un caso d'angolo.

La macchina è un Raspberry Pi, che esegue il kernel Pi di serie, ma con un generico armhf Fedora 25 userland. È stato anche configurato senza testa e non è mai stato utilizzato in altro modo, ma quando è stato collegato a un monitor e una tastiera si è verificato un problema evidente con systemd-logind.service . L'ho ricondotto a questo problema, che è stato introdotto l'anno scorso quando le parti principali di systemd sono diventate dipendenti da seccomp, che per qualsiasi motivo non è incluso nel kernel Pi di serie, ma forse a causa di un'errata configurazione che fa sembrare che lo sia.

La soluzione era abbastanza semplice; le opzioni del file di servizio che richiedono seccomp devono essere rimosse. Ce ne sono una manciata in /usr/lib/systemd/system , incluso systemd-logind.service .

Probabilmente lascerebbe anche la rete disabilitata su un sistema di riserva, ma uso il mio servizio per questo e non è stato influenzato (ad esempio, la possibilità che qualcun altro si imbatta in questo problema in questo modo è scarsa).

Correlati:è necessario sfuggire ai caratteri regex in sed per essere interpretati come caratteri regex?

Ad ogni modo, ho commentato le seguenti righe in tutte:

MemoryDenyWriteExecute=yes
SystemCallFilter=...

Riavviato, niente più problemi.


Linux
  1. Quando usare Nohup?

  2. Risolvi i problemi di SSH

  3. Impossibile eseguire applicazioni X tramite SSH in Linux

  4. SSH con authorized_keys su un sistema Ubuntu con homedir crittografato?

  5. Come accettare sì dallo script Sei sicuro di voler continuare a connetterti (sì/no)?

Cos'è SSH?

Comando SSH

Rafforzamento della configurazione SSH

Flatpak vs Snap vs AppImage

Tunnel SSH HTTPS

SSH non chiede la password, dà il permesso negato immediatamente