Wie behebe ich den Fehler "Berechtigung verweigert" (öffentlicher Schlüssel)?

11

Beim Versuch, zwischen meinem Desktop Ubuntu 12.10 und dem Fedora 19-Desktop zu kommunizieren, tritt der Fehler " Berechtigung verweigert" (öffentlicher Schlüssel) auf .
Ich kann mich über ssh von Fedora nach Ubuntu anmelden, aber nicht umgekehrt.
Ich habe sogar Telnet auf beiden Computern über Port 22 durchgeführt und beide Computer lauschen, aber nicht über ssh. Was ist zu tun? Irgendeine Idee?

Meine sshd_configDatei lautet wie folgt:

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

# What ports, IPs and protocols we listen for
Port 22
# Use these options to restrict which interfaces/protocols sshd will bind to
#ListenAddress ::
#ListenAddress 0.0.0.0
Protocol 2
# HostKeys for protocol version 2
HostKey /etc/ssh/ssh_host_rsa_key
HostKey /etc/ssh/ssh_host_dsa_key
HostKey /etc/ssh/ssh_host_ecdsa_key
#Privilege Separation is turned on for security
UsePrivilegeSeparation yes

# Lifetime and size of ephemeral version 1 server key
KeyRegenerationInterval 3600
ServerKeyBits 768

# Logging
SyslogFacility AUTH
LogLevel INFO

# Authentication:
LoginGraceTime 120
PermitRootLogin yes
StrictModes yes

RSAAuthentication yes
PubkeyAuthentication yes
#AuthorizedKeysFile    %h/.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

X11Forwarding yes
X11DisplayOffset 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 yes

Dies ist sshd_config des Ubuntu-Systems.

ssh -v fedora_machine

Vivek Singh
quelle
Mögliches Duplikat von git ssh: Berechtigung verweigert (publickey) .
Gediminas Jeremiah Gudelis
Von welchem ​​Computer stammt das sshd_config, Ubuntu oder Fedora? Können Sie auch eine Abschrift dessen hinzufügen, was passiert, wenn Sie ssh -v fedora_machinevon der Ubuntu-Maschine aus arbeiten?
David Purdue
sshd_config ist von Ubuntu. Ich habe gerade @DavidPurdue ssh -v fedora_mch in der Frage angegeben.
Vivek Singh

Antworten:

14

Wie Sie bereits bemerkt haben, wurde die Fedora-Box, bei der Sie sich anmelden, nicht für die Kennwortauthentifizierung eingerichtet, sondern nur für die Authentifizierung mit öffentlichem Schlüssel. Dies ist aus dem ssh -vErgebnis ersichtlich .

Eine Lösung besteht also darin, die Kennwortauthentifizierung wie bisher hinzuzufügen.

Die andere Methode wäre, den Inhalt von ~/.ssh/id_rsa.pubauf der Ubuntu-Box zu nehmen und ihn der Datei ~/.ssh/authorized_keysauf der Fedora-Box hinzuzufügen .

Nachdem Sie die Kennwortauthentifizierung aktiviert haben, können Sie den autorisierten Schlüssel mit diesem Befehl auf der Ubuntu-Box installieren:

$ ssh-copy-id fedora_box
David Purdue
quelle
9

Entschuldigung, es scheint mein Fehler zu sein. ich hatte nicht

PasswordAuthentication yes

in der SSH-Konfiguration des Fedora-Computers.

Es wurde gelöst, indem dies aktiviert wurde. Danke für Ihre Hilfe.

Vivek Singh
quelle
AFAICT Ja ist der Standardwert
Shubham Chaudhary
2

Für mich musste ich ChallengeResponseAuthentication nein kommentieren, obwohl PasswordAuthentication ja aktiviert war.

David Okwii
quelle
Ja, erforderlich für Ubuntu 16
Max
0

Mein Problem war, dass ich mehrere öffentliche Schlüssel hatte und ssh-copy-idstandardmäßig den falschen verwendete:

/usr/local/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/Users/admin/.ssh/id_boot2docker.pub"

Wenn ich den richtigen öffentlichen Schlüssel verwendet habe, hat es funktioniert:

ssh-copy-id -i ~/.ssh/id_rsa.pub remote-machine
Samuel Lindblom
quelle