Erro de rede: conexão recusada putty

2

Eu estou tentando entrar no meu servidor com chaves ssh (eu uso massa para fazer isso), mas toda vez que eu tento conectar ele diz Network error: Connection refused . Eu acredito que é algo errado com a chave pública, não tenho certeza. A chave é assim:

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

mas tudo em uma linha. Eu usei puttygen para criar a chave e ficou assim por deafult:

---- 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 ----

Saída 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

Saída 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

Aqui está a saída de sudo systemctl .

Saída 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
    
por KV-2 01.04.2017 / 16:35

3 respostas

2

Aqui você encontra um pequeno manual sobre todo o processo:

Como usar o SSH Ubuntu do Windows via PuTTY, usando chaves

eu. Gere o 'par de chaves' do SSH no Ubuntu e crie authorized_keys file

$ ssh-keygen -t rsa -b 4096 Enter
Generating public/private rsa key pair.
Enter file in which to save the key (/home/$USER/.ssh/id_rsa): Enter
Created directory '/home/$USER/.ssh'.
Enter passphrase (empty for no passphrase): type your passphrase Enter
Enter same passphrase again: retype your passphrase Enter

$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys Enter 
$ chmod go-w ~/ Enter
$ chmod 700 ~/.ssh Enter
$ chmod 600 ~/.ssh/authorized_keys Enter

$ ls -la ~/.ssh Enter
drwx------ 2 user user 4096 апр  2 17:21 .
drwxr-xr-x 3 user user 4096 апр  2 17:40 ..
-rw------- 1 user user  738 апр  2 17:21 authorized_keys
-rw------- 1 user user 3243 апр  2 17:15 id_rsa
-rw-r--r-- 1 user user  738 апр  2 17:15 id_rsa.pub

Por favor, note que não precisamos usar sudo . Se authorized_keys já existir, o redirecionamento de saída >> apenas anexará uma nova entrada.

Faça um teste - SSH para localhost usando o nome de usuário atual:

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

Onde: (1) você pode omitir as opções -i ~/.ssh/id_rsa -p 22 , porque esses são os valores padrão e (2) -v ativará o modo detalhado. Mais informações podem ser encontradas em man ssh .

Por favor, note que este teste irá passar "apenas" com a configuração padrão de /etc/ssh/sshd_config . Aqui está o sshd_config padrão do Ubuntu 16.04.

II. Converta id_rsa chave privada em .ppk format e use-a

Onde .ppk significa PuTTY Private Key .

Abordagem 1: usando puttygen para Linux:

A ideia para esta edição adicional veio do tópico onde foi discutida a conversão de .ppk em um compatível com OpenSSH formato.

  1. Instale putty-tools no Ubuntu. Abra um terminal e digite:

    sudo apt install putty-tools
    
  2. Converta a chave privada:

    puttygen ~/.ssh/id_rsa -O private -o ~/.ssh/converted_id_rsa.ppk
    
  3. Copie a chave privada convertida ( converted_id_rsa.ppk ) para o Windows.

  4. Use essa chave .ppk com o PuTTY para se conectar ao Ubuntu. Screenshot .

Abordagem 2: usando puttygen para Windows

  1. Copie a chave privada ( id_rsa ) para o Windows.

  2. Execute o 'PuTTY Key Generator' ( puttygen.exe ) e clique no botão Load . Screenshot .

  3. Mude para All Files (*.*) e Open do seu gerado no arquivo de chave privada do Ubuntu ( id_rsa ). Screenshot .

  4. Digite a frase secreta, se houver, e clique em OK . Uma notificação será exibida - clique em OK novamente. Screenshot .

  5. Edite Key comment e Key passphrase , se precisar, e clique em Save private key . Screenshot .

  6. Salve sua nova chave .ppk em um local conveniente. Screenshot .

  7. Use essa chave .ppk com o PuTTY para se conectar ao Ubuntu. Screenshot .

Referências:

por pa4080 02.04.2017 / 14:19
2

Normalmente, Network error: Connection refused significa que o servidor recusou completamente sua conexão SSH . Ele não teve problemas com a chave usada pelo PuTTY, porque não foi tão longe no processo de conexão se preocupar com as teclas. Em vez disso, recusou a conexão imediatamente. Isso geralmente ocorre porque o servidor não está executando um servidor SSH (ou o servidor SSH está quebrado), você está com a porta errada ou você está com o endereço errado do servidor.

No entanto, você diz que só recebe essa mensagem de erro quando se conecta usando uma chave pública enquanto conecta usando uma senha funciona bem. Para adicionar uma chave pública para conexões de entrada, adicione a seguinte linha a ~/.ssh/authorized_keys no servidor (crie o arquivo, se ele não existir):

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

Note que isto:

  1. começa com ssh-rsa
  2. Não há quebras de linha no meio dela (remova-as se houver)
  3. Deve ser a chave pública (deve começar com AAAAB3 ) que você está usando atualmente (substitua-a por uma nova se você gerou uma nova)
por Chai T. Rex 02.04.2017 / 16:33
0

Este é um formato um pouco diferente das chaves. A maneira correta de converter um para o outro é usar ssh-keygen :

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

O resultado da sua chave é assim:

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

Portanto, na linha única com o identificador de chave ssh-rsa , em vez daquele que você usou. Também as linhas novas são importantes (não pode haver nenhuma).

    
por Jakuje 01.04.2017 / 18:44