web-dev-qa-db-fra.com

Erreur réseau: connexion refusée

J'essaie de me connecter à mon serveur avec des clés ssh (j'utilise PuTTY pour le faire), mais chaque fois que j'essaie de me connecter, il indique Network error: Connection refused. Je crois que quelque chose ne va pas avec la clé publique, mais pas sûr. La clé ressemble à ceci:

rsa-key-public AAAAB3NzaC1yc2EAAAABJQAAAQEAx+KoPhVxfBrnN8cFb+hG9MveY0cfNpn9mAcN
hsfkEvxeG2EqLRYtaXUBXPgl3uILvXYbqG7HSBq/kZe/AICn/aK89rCGAozEepde
aYmy9EtmfPU8pFgTrgMils8X6b5kPPxCBZ2pfeL/q4SUke+/xpV1x98py6PHM8Vm
JaBciqvaa89QLvWf3IUuxm7798WvGUPlSMtuE2wnYsyJ4W65nBCs4PCROpaPmcmq
iP0VF+Vm5vC3W/F00PC1w3R3BMdDoS2VJj7jQTR1Ralbn9cM185/pZY8lvkX4lEQ
MJvvwRM1Oy/g+J7+RbPR/XTrrRmKQq5mnWU0ICV5qvTnsc+Lyw==

mais tout en une seule ligne. J'ai utilisé puttygen pour créer la clé et cela ressemblait à ceci:

---- BEGIN SSH2 PUBLIC KEY ----
Comment: "rsa-key-public"
AAAAB3NzaC1yc2EAAAABJQAAAQEAx+KoPhVxfBrnN8cFb+hG9MveY0cfNpn9mAcN
hsfkEvxeG2EqLRYtaXUBXPgl3uILvXYbqG7HSBq/kZe/AICn/aK89rCGAozEepde
aYmy9EtmfPU8pFgTrgMils8X6b5kPPxCBZ2pfeL/q4SUke+/xpV1x98py6PHM8Vm
JaBciqvaa89QLvWf3IUuxm7798WvGUPlSMtuE2wnYsyJ4W65nBCs4PCROpaPmcmq
iP0VF+Vm5vC3W/F00PC1w3R3BMdDoS2VJj7jQTR1Ralbn9cM185/pZY8lvkX4lEQ
MJvvwRM1Oy/g+J7+RbPR/XTrrRmKQq5mnWU0ICV5qvTnsc+Lyw==
---- END SSH2 PUBLIC KEY ----

Sortie de cat /etc/ssh/sshd_config:

# Package generated configuration file
# See the sshd_config(5) manpage for details

# What ports, IPs and protocols we listen for
#Port 2222
# Use these options to restrict which interfaces/protocols sshd will bind to 
ListenAddress 192.168.1.20
Protocol 2
# HostKeys for protocol version 2
HostKey /etc/ssh/ssh_Host_rsa_key
HostKey /etc/ssh/ssh_Host_ecdsa_key
HostKey /etc/ssh/ssh_Host_ed25519_key
#Privilege Separation is turned on for security
UsePrivilegeSeparation yes

# Lifetime and size of ephemeral version 1 server key 
KeyRegenerationinterval 3600
ServerKeyBits 2048

# Logging
SyslogFacility AUTH 
LogLevel INFO

# Authentication:
LoginGraceTime 120
PermitRootLogin prohibit-password 
StrictModes yes

RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile ~/.ssh/authorized_keys

# Don't read the user's ~/.rhosts and ~/.shosts files
IgnoreRhosts yes
# For this to work you will also need Host keys in /etc/ssh_known_hosts 
RhostsRSAAuthentication no
# similar for protocol version 2 
HostbasedAuthentication no
# Uncomment if you don't trust ~/.ssh/known_hosts for RhostsRSAAuthentication 
#IgnoreUserKnownHosts yes

# To enable empty passwords, change to yes (NOT RECOMMENDED) 
PermitEmptyPasswords no

# Change to yes to enable challenge-response passwords (beware issues with 
# some PAM modules and threads)
ChallengeResponseAuthentication no

# Change to no to disable tunnelled clear text passwords 
PasswordAuthentication yes

# Kerberos options
#KerberosAuthentication no 
#KerberosGetAFSToken no 
#KerberosOrLocalPasswd yes 
#KerberosTicketCleanup yes

# GSSAPI options
#GSSAPIAuthentication no
#GSSAPICleanupCredentials yes

Xl1Forwarding yes 
Xl1DisplayOffset 10 
PrintMotd no
PrintLastLog yes 
TCPKeepAlive yes 
#UseLogin no

#MaxStartups 10:30:60 
*Banner /etc/issue.net

# Allow client to pass locale environment variables 
AcceptEnv LANG LC *

Subsystem sftp /usr/lib/openssh/sftp-server

# Set this to 'yes' to enable PAM authentication, account processing, 
# and session processing. If this is enabled, PAM authentication will 
# be allowed through the ChallengeResponseAuthentication and
# PasswordAuthentication. Depending on your PAM configuration,
# PAM authentication via ChallengeResponseAuthentication may bypass 
# the setting of *PermitRootLogin without-password*.
# If you just want the PAM account and session checks to run without 
# PAM authentication, then enable this but set PasswordAuthentication 
# and ChallengeResponseAuthentication to 'no'.
UsePAM no

service ssh status/systemctl status ssh.service:

peter@PM-server:-$ service ssh status
● ssh.service - OpenBSD Secure Shell server
   Loaded: loaded (/lib/systemd/systemissh.service; enabled; vendor preset: enabled)
   Active: active (running) since Mon 2017-04-03 16:02:13 CEST; 3h 37min ago
 Main PID: 1577 (sshd)
    Tasks: 7 (limit: 4915)
   Memory: 23.1M
      CPU: 3.774s
   CGroup: /system.slice/ssh.service 
           ├─1577 /usr/sbin/sshd -D 
           ├─2351 sshd: peter [priv] 
           ├─2359 sshd: peter@pts/0 
           ├─2360 -bash
           ├─2395 systemctl status ssh.service
           └─2400 pager

Apr 03 16:25:11 PM-server Sudo[2030] :pam_unix(Sudo:session): session opened for user root by peter(uid=0)
Apr 03 16:32:45 PM-server Sudo[2030] :pam_unix(Sudo:session): session closed for user root
Apr 03 16:50:45 PM-server sshd[2068] : Accepted password for peter from 192.168.1.19 port 57813 ssh2
Apr 03 17:19:14 PM-server Sudo[2135]     peter : TTY=pts/0 ;  PWD/home ; USER=root ; COMMAND/bin/chown peter:peter peter
Apr 03 17:19:14 PM-server Sudo[2135] :pam_unix(Sudo:session): session opened for user root by peter(uid=0)
Apr 03 17:19:14 PM-server Sudo[2135] :pam_unix(Sudo:session): session closed for user root
Apr 03 19:25:09 PM-server sshd[2351] : Accepted password for peter from 192.168.1.19 port 56635 ssh2
Apr 03 19:26:05 PM-server Sudo[2372]     peter : TTY=pts/0 ; PWD/home/peter ; USER=root ; COMMAND/bin/systemctl
Apr 03 19:26:05 PM-server Sudo[2372] :pam_unix(Sudo:session): session opened for user root by peter(uid=0)
Apr 03 19:28:14 PM-server Sudo[2372] :pam unix(Sudo:session): session closed for user root

Voici la sortie de Sudo systemctl.

Sortie de Sudo sshd -T

    port 22
    protocol 2
    addressfamily any
    listenaddress [::]:22
    listenaddress 0.0.0.0:22
    usepam yes
    serverkeybits 1024
    logingracetime 120
    keyregenerationinterval 3600
    x11displayoffset 10
    maxauthtries 6
    maxsessions 10
    clientaliveinterval 0
    clientalivecountmax 3
    streamlocalbindmask 0177
    permitrootlogin without-password
    ignorerhosts yes
    ignoreuserknownhosts no
    rhostsrsaauthentication no
    hostbasedauthentication no
    hostbasedusesnamefrompacketonly no
    rsaauthentication yes
    pubkeyauthentication yes
    kerberosauthentication no
    kerberosorlocalpasswd yes
    kerberosticketcleanup yes
    gssapiauthentication no
    gssapikeyexchange no
    gssapicleanupcredentials yes
    gssapistrictacceptorcheck yes
    gssapistorecredentialsonrekey no
    passwordauthentication yes
    kbdinteractiveauthentication no
    challengeresponseauthentication no
    printmotd no
    printlastlog yes
    x11forwarding yes
    x11uselocalhost yes
    permittty yes
    permituserrc yes
    strictmodes yes
    tcpkeepalive yes
    permitemptypasswords no
    permituserenvironment no
    uselogin no
    compression delayed
    gatewayports no
    usedns no
    allowtcpforwarding yes
    allowagentforwarding yes
    allowstreamlocalforwarding yes
    streamlocalbindunlink no
    useprivilegeseparation yes
    fingerprinthash SHA256
    pidfile /var/run/sshd.pid
    xauthlocation /usr/bin/xauth
    ciphers [email protected],aes128-ctr,aes192-ctr,aes256-                 ctr,[email protected],[email protected]
    macs [email protected],[email protected],hmac-sha2-256-        [email protected],[email protected],[email protected],umac-        [email protected],[email protected],hmac-sha2-256,hmac-sha2-512,hmac-sha1
    versionaddendum none
    kexalgorithms [email protected],ecdh-sha2-nistp256,ecdh-sha2-                                nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-        group16-sha512,diffie-hellman-group18-sha512,diffie-hellman-group14-        sha256,diffie-hellman-group14-sha1
    hostbasedacceptedkeytypes ecdsa-sha2-nistp256-cert-        [email protected],[email protected],ecdsa-sha2-nistp521-        [email protected],[email protected],ssh-rsa-cert-        [email protected],ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,ssh-        ed25519,rsa-sha2-512,rsa-sha2-256,ssh-rsa
    hostkeyalgorithms [email protected],ecdsa-sha2-        [email protected],[email protected],ssh-        [email protected],[email protected],ecdsa-sha2-        nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,ssh-ed25519,rsa-sha2-512,rsa-        sha2-256,ssh-rsa
    pubkeyacceptedkeytypes [email protected],ecdsa-        [email protected],[email protected],ssh-        [email protected],[email protected],ecdsa-sha2-        nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,ssh-ed25519,rsa-sha2-512,rsa-        sha2-256,ssh-rsa
    loglevel INFO
    syslogfacility AUTH
    authorizedkeysfile .ssh/authorized_keys .ssh/authorized_keys2
    hostkey /etc/ssh/ssh_Host_rsa_key
    hostkey /etc/ssh/ssh_Host_ecdsa_key
    hostkey /etc/ssh/ssh_Host_ed25519_key
    acceptenv LANG
    acceptenv LC_*
    authenticationmethods any
    subsystem sftp /usr/lib/openssh/sftp-server
    maxstartups 10:30:100
    permittunnel no
    ipqos lowdelay throughput
    rekeylimit 0 0
    permitopen any
2
KV-2

Ici vous allez court manuel couvrant l'ensemble du processus:

Comment SSH Ubuntu sous Windows via PuTTY, en utilisant les clés


I. Générer une "paire de clés" SSH dans Ubuntu et créer un fichier authorized_keys

ssh-keygen -t rsa -b 4096Enter
 Générer une paire de clés rsa publique/privée. 
 Entrer un fichier dans lequel enregistrer la clé (/home/$USER/.ssh/id_rsa): Enter
 Répertoire créé '/home/$USER/.ssh'. 
 Entrez la phrase secrète (vide pour aucune phrase secrète): tapez votre phrase secrèteEnter
 Entrez à nouveau le même mot de passe: retaper votre phrase secrèteEnter
 
 $ cat ~/.ssh/id_rsa.pub >> ~/.ssh/registered_keys Enter 
 $ chmod go-w ~ / Enter
 $ chmod 700 ~/.ssh Enter
 $ chmod 600 ~/.ssh/allowed_keys Enter
 
 $ ls -la ~/.ssh Enter
 drwx ------ 2 utilisateur 4096 août 2 17:21. 
 drwxr-xr-x 3 utilisateur 4096 août 2 17:40 .. 
 - rw ------- 1 utilisateur utilisateur 738 heures 2 17:21 registered_keys 
 - rw ------- 1 utilisateur 3243 août 2 17:15 id_rsa 
 - rw-r --r-- 1 utilisateur utilisateur 738 sur 2 17:15 id_rsa.pub 

Veuillez noter que nous n'avons pas besoin d'utiliser Sudo. Si authorized_keys existe déjà, la redirection de sortie >> va simplement ajouter une nouvelle entrée.

Faites un test - SSH sur localhost en utilisant le nom d'utilisateur de l'utilisateur actuel:

$ chmod 600 ~/.ssh/id_rsa.pub
$ ssh $USER@localhost -i ~/.ssh/id_rsa -p 22 -v

Où: (1) vous pouvez omettre les options -i ~/.ssh/id_rsa -p 22, car ce sont les valeurs par défaut, et (2) -v activera le mode commenté. Des informations supplémentaires peuvent être trouvées dans man ssh .

Veuillez noter que ce test passera "seulement" avec la configuration par défaut de /etc/ssh/sshd_config. Voici la valeur par défaut sshd_config d’Ubuntu 16.04.


II. Convertissez la clé privée id_rsa au format .ppk et utilisez-la

.ppk signifie clé privée PuTTY .

Méthode 1: Utilisation de puttygen pour Linux:

L'idée de cette édition supplémentaire est venue de ce sujet où a été discuté la conversion de .ppk dans un format compatible OpenSSH.

  1. Installez PuTTY-tools dans Ubuntu. Ouvrez un terminal et tapez:

    Sudo apt install PuTTY-tools
    
  2. Convertir la clé privée:

    puttygen ~/.ssh/id_rsa -O private -o ~/.ssh/converted_id_rsa.ppk
    
  3. Copiez la clé privée convertie (converted_id_rsa.ppk) dans Windows.

  4. Utilisez cette clé .ppk avec PuTTY pour vous connecter à Ubuntu. Capture d'écran .

Approche 2: Utiliser puttygen pour Windows

  1. Copiez la clé privée (id_rsa) dans Windows.

  2. Exécutez 'PuTTY Key Generator' (puttygen.exe) et cliquez sur le bouton Load. Capture d'écran .

  3. Passez à All Files (*.*) et Open votre fichier de clé privée généré dans Ubuntu (id_rsa). Capture d'écran .

  4. Entrez la phrase secrète s'il en existe une, puis cliquez sur OK. Une notification apparaîtra - cliquez une nouvelle fois sur OK. Capture d'écran .

  5. Éditez Key comment et Key passphrase si vous en avez besoin et cliquez sur Save private key. Capture d'écran .

  6. Enregistrez votre nouvelle clé .ppk dans un emplacement pratique. Capture d'écran .

  7. Utilisez cette clé .ppk avec PuTTY pour vous connecter à Ubuntu. Capture d'écran .


Références:

2
pa4080

Généralement, Network error: Connection refused signifie que le serveur a entièrement refusé votre connexion SSH . La clé utilisée par PuTTY ne posait pas de problème, car le processus de connexion n'allait pas si loin que ce soit avec des clés. Au lieu de cela, il a immédiatement refusé la connexion. Cela est généralement dû au fait que le serveur n’exécute pas de serveur SSH (ou que le serveur SSH est en panne), que vous avez le mauvais port ou que vous avez la mauvaise adresse de serveur.


Cependant, vous dites que vous ne recevez ce message d'erreur que lorsque vous vous connectez à l'aide d'une clé publique et que vous vous connectez à l'aide d'un mot de passe. Pour ajouter une clé publique pour les connexions entrantes, ajoutez la ligne suivante à ~/.ssh/authorized_keys sur le serveur (créez le fichier s'il n'existe pas):

ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAQEAx+KoPhVxfBrnN8cFb+hG9MveY0cfNpn9mAcNhsfkEvxeG2EqLRYtaXUBXPgl3uILvXYbqG7HSBq/kZe/AICn/aK89rCGAozEepdeaYmy9EtmfPU8pFgTrgMils8X6b5kPPxCBZ2pfeL/q4SUke+/xpV1x98py6PHM8VmJaBciqvaa89QLvWf3IUuxm7798WvGUPlSMtuE2wnYsyJ4W65nBCs4PCROpaPmcmqiP0VF+Vm5vC3W/F00PC1w3R3BMdDoS2VJj7jQTR1Ralbn9cM185/pZY8lvkX4lEQMJvvwRM1Oy/g+J7+RbPR/XTrrRmKQq5mnWU0ICV5qvTnsc+Lyw==

Notez que ceci:

  1. Commence par ssh-rsa
  2. Il n'y a pas de sauts de ligne au milieu (les supprimer si présents)
  3. Devrait être la clé publique (devrait commencer par AAAAB3) que vous utilisez actuellement (remplacez-la par la nouvelle si vous en avez généré une nouvelle)
2
Chai T. Rex

Installez le paquet openssh-server à partir du Centre de logiciel Ubuntu. Ou exécutez la commande ci-dessous dans la console si vous êtes sur Ubuntu Server sans interface graphique:

Sudo apt-get install openssh-server

Une fois installé, le service SSH doit être démarré automatiquement. Si nécessaire, vous pouvez démarrer (ou arrêter, redémarrer) le service manuellement via la commande:

Sudo service ssh start

Le numéro de port 22 est celui par défaut. Pour modifier le port, l’autorisation de connexion root, vous pouvez modifier le fichier/etc/ssh/sshd_config via:

Sudo nano/etc/ssh/sshd_config

Supprimez le "#" du fichier sshd_config, préfixé au port 22

0
Rajeshwar K

C'est un format un peu différent des clés. Un moyen correct de convertir l’un en l’autre est d’utiliser ssh-keygen:

 ssh-keygen -i -f /path/to/public.key

Le résultat pour votre clé ressemble à ceci:

ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAQEAx+KoPhVxfBrnN8cFb+hG9MveY0cfNpn9mAcNhsfkEvxeG2EqLRYtaXUBXPgl3uILvXYbqG7HSBq/kZe/AICn/aK89rCGAozEepdeaYmy9EtmfPU8pFgTrgMils8X6b5kPPxCBZ2pfeL/q4SUke+/xpV1x98py6PHM8VmJaBciqvaa89QLvWf3IUuxm7798WvGUPlSMtuE2wnYsyJ4W65nBCs4PCROpaPmcmqiP0VF+Vm5vC3W/F00PC1w3R3BMdDoS2VJj7jQTR1Ralbn9cM185/pZY8lvkX4lEQMJvvwRM1Oy/g+J7+RbPR/XTrrRmKQq5mnWU0ICV5qvTnsc+Lyw==

Par conséquent, sur la ligne unique avec l'identifiant de clé ssh-rsa, au lieu de celui que vous avez utilisé. De plus, les nouvelles lignes importent (il ne peut y en avoir aucune).

0
Jakuje