Linux: So richten Sie Authorized_keys so ein, dass sie sich als anderer Benutzer anmelden können

768
Greg Dougherty

Lokale Benutzer-ID: GregD Remote-Benutzer-ID: GregTD

Ich weiß, wie ich authorized_keys einrichten kann, um mich als GregD anzumelden. Ich muss jedoch eine Verbindung zu einem Server als GregTD herstellen, und obwohl ich meine Authorized_keys zu .ssh / hinzugefügt habe (ja, ich habe die Berechtigungen richtig gesetzt), und obwohl ich ssh-copy-id erfolgreich ausgeführt habe, werde ich immer noch nach einem Passwort gefragt wenn ich versuche, ssh GregTD @ foo

Liste der entfernten .ssh:

GregTD@foo $ ls -alh total 32K drwx------+ 2 GregTD GregTD 4.0K Mar 29 10:53 ./ drwxrwxr-x+ 6 GregTD GregTD 4.0K Mar 29 10:52 ../ -rw-------+ 1 GregTD GregTD 398 Mar 29 10:53 authorized_keys lrwxrwxrwx. 1 GregTD GregTD 15 Mar 29 10:31 authorized_keys2 -> authorized_keys -rw-rw-r--+ 1 GregTD GregTD 188 Mar 29 10:18 known_hosts 

Auflistung meiner .ssh:

$ ls -alh ~/.ssh/ total 200 drwx------ 16 GregD GregD 544B Mar 29 10:53 ./ drwxr-xr-x+ 184 GregD GregD 6.1K Mar 26 09:37 ../ -rwx------ 1 GregD GregD 2.1K Feb 28 12:09 authorized_keys* -rwx------ 1 GregD GregD 679B Feb 28 12:09 config* -rw------- 1 GregD GregD 1.7K Feb 28 12:09 github_rsa -rw-r--r-- 1 GregD GregD 401B Feb 28 12:09 github_rsa.pub -rw------- 1 GregD GregD 1.6K Feb 28 12:09 id_rsa -rw-r--r-- 1 GregD GregD 398B Feb 28 12:09 id_rsa.pub -rwx------ 1 GregD GregD 47K Mar 19 21:15 known_hosts* 

Was ich getan habe:

$ ssh-copy-id GregTD@foo /usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/Users/GregD/.ssh/id_rsa.pub" /usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed /usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys GregTD@foo's password:   Number of key(s) added: 1  Now try logging into the machine, with: "ssh 'GregTD@foo'" and check to make sure that only the key(s) you wanted were added.   $ ssh -v GregTD@foo OpenSSH_7.4p1, LibreSSL 2.5.0 debug1: Reading configuration data /Users/GregD/.ssh/config debug1: Reading configuration data /etc/ssh/ssh_config debug1: Connecting to foo [10.146.103.127] port 22. debug1: Connection established. debug1: identity file /Users/GregD/.ssh/id_rsa type 1 debug1: key_load_public: No such file or directory debug1: identity file /Users/GregD/.ssh/id_rsa-cert type -1 debug1: key_load_public: No such file or directory debug1: identity file /Users/GregD/.ssh/id_dsa type -1 debug1: key_load_public: No such file or directory debug1: identity file /Users/GregD/.ssh/id_dsa-cert type -1 debug1: key_load_public: No such file or directory debug1: identity file /Users/GregD/.ssh/id_ecdsa type -1 debug1: key_load_public: No such file or directory debug1: identity file /Users/GregD/.ssh/id_ecdsa-cert type -1 debug1: key_load_public: No such file or directory debug1: identity file /Users/GregD/.ssh/id_ed25519 type -1 debug1: key_load_public: No such file or directory debug1: identity file /Users/GregD/.ssh/id_ed25519-cert type -1 debug1: Enabling compatibility mode for protocol 2.0 debug1: Local version string SSH-2.0-OpenSSH_7.4 debug1: Remote protocol version 2.0, remote software version OpenSSH_7.4 debug1: match: OpenSSH_7.4 pat OpenSSH* compat 0x04000000 debug1: Authenticating to foo:22 as 'GregTD' debug1: SSH2_MSG_KEXINIT sent debug1: SSH2_MSG_KEXINIT received debug1: kex: algorithm: curve25519-sha256 debug1: kex: host key algorithm: ecdsa-sha2-nistp256 debug1: kex: server->client cipher: aes128-ctr MAC: hmac-sha2-256 compression: none debug1: kex: client->server cipher: aes128-ctr MAC: hmac-sha2-256 compression: none debug1: expecting SSH2_MSG_KEX_ECDH_REPLY debug1: Server host key: A key debug1: Host 'foo' is known and matches the ECDSA host key. debug1: Found key in /Users/GregD/.ssh/known_hosts:124 debug1: rekey after 4294967296 blocks debug1: SSH2_MSG_NEWKEYS sent debug1: expecting SSH2_MSG_NEWKEYS debug1: SSH2_MSG_NEWKEYS received debug1: rekey after 4294967296 blocks debug1: SSH2_MSG_EXT_INFO received debug1: kex_input_ext_info: server-sig-algs=<rsa-sha2-256,rsa-sha2-512> debug1: SSH2_MSG_SERVICE_ACCEPT received debug1: Authentications that can continue: publickey,gssapi-keyex,gssapi-with-mic,password debug1: Next authentication method: publickey debug1: Offering RSA public key: /Users/GregD/.ssh/id_rsa debug1: Authentications that can continue: publickey,gssapi-keyex,gssapi-with-mic,password debug1: Trying private key: /Users/GregD/.ssh/id_dsa debug1: Trying private key: /Users/GregD/.ssh/id_ecdsa debug1: Trying private key: /Users/GregD/.ssh/id_ed25519 debug1: Next authentication method: password GregTD@foo's password:  

Ran ssh -vv zweimal, einmal als GregTD (fehlgeschlagen) und einmal als GregD (Erfolg)

Es gab zwei Unterschiede: Fehlgeschlagen:

debug1: rekey after 4294967296 blocks debug2: key: /Users/m082166/.ssh/id_rsa (0x7fef96e12320) 

Erfolg:

debug1: rekey after 4294967296 blocks debug2: key: /Users/m082166/.ssh/id_rsa (0x7fb600e0a420) ... debug1: Offering RSA public key: /Users/m082166/.ssh/id_rsa debug2: we sent a publickey packet, wait for reply debug1: Server accepts key: pkalg rsa-sha2-512 blen 279 

2. Erfolg (wollte sehen, ob sich der Schlüssel geändert hat.)

debug2: key: /Users/m082166/.ssh/id_rsa (0x7fb600e0a420) 

Ist irgendwas davon nützlich? Was ich versuche sollte funktionieren, ja?

0
Was ist der Inhalt von `/ Users / GregD / .ssh /`? Ihr privater Schlüssel wird von dort gelesen und scheint zu fehlen: "Keine solche Datei oder Verzeichnis". yahol vor 6 Jahren 0
Möglicherweise müssen Sie `/ var / log / auth.log` oder` / var / log / dmesg` auf dem Remote-System überprüfen. LawrenceC vor 6 Jahren 1
"debug1: key_load_public: Keine solche Datei oder Verzeichnis" sucht nach einer Zertifikatsdatei für den Schlüssel. Was nicht benötigt wird, da sonst keine meiner anderen Remote-Logins funktionieren würde. Ich habe ein ls für meine .ssh hinzugefügt Greg Dougherty vor 6 Jahren 0
Du hast recht, mein Fehler. Zu @ LawrenceCs Kommentar: auch `/ var / log / secure` auf CentOS / RHEL / Fedora-ähnlichen Systemen. Wird die Anzeige der Verbosity-Nachricht nach "Offering RSA public key ..." angezeigt? yahol vor 6 Jahren 0
Wie erhöhe ich die Ausführlichkeit? Leider gibt es weder auth.log noch dmesg, und secure ist nur für root lesbar, was ich nicht bin Greg Dougherty vor 6 Jahren 0
Sie können die Ausführlichkeit um bis zu 3 Stufen erhöhen: `-v`,` -vv`, -`vvv`. Versuchen Sie es zuerst mit "-vv", da dies zu interessanten Ergebnissen führt. yahol vor 6 Jahren 0
Lief es mit -vv und fügte Ergebnisse hinzu Greg Dougherty vor 6 Jahren 0
Vielleicht gibt es eine seltsame Interaktion mit LibreSSL und openSSL, wenn Ihre sshd mit OpenSSL verknüpft ist. Stellen Sie sicher, dass ssh und sshd dieselbe Version haben. LawrenceC vor 6 Jahren 0
@LawrenceC Ich habe zwei Konten auf dem Server, einen GregD und einen GregTD. Ich kann mich mit meinem Public-Private-Key-Paar genauso gut verbinden wie GregD. Ich habe nur Probleme, eine Verbindung zum GregTD herzustellen Greg Dougherty vor 6 Jahren 0

0 Antworten auf die Frage