Ich habe einen Ubuntu-Server eingerichtet, der die amazon ec2-Instanz verwendet. Ich muss meinen Desktop (der auch ein Ubuntu-Computer ist) über SSH mit dem Ubuntu-Server verbinden.
Ich habe open-ssh auf dem Ubuntu-Server installiert. Ich benötige alle Systeme meines Netzwerks, um den Ubuntu-Server mit SSH zu verbinden (keine Verbindung über PEM- oder Pub-Schlüssel erforderlich).
Daher öffnete SSH Port 22 für meine statische IP in Sicherheitsgruppen (AWS).
Meine SSHD-CONFIG-Datei ist:
# 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
Über webmin (Command Shell) habe ich einen neuen Benutzer mit dem Namen 'senthil' erstellt und diesen neuen Benutzer der Gruppe 'sudo' hinzugefügt.
sudo adduser -y senthil
sudo adduser senthil sudo
Ich habe versucht, mich mit diesem neuen Benutzer 'senthil' in 'webmin' anzumelden. Ich konnte mich erfolgreich einloggen.
Als ich versuchte, Ubuntu-Server von meinem Terminal über SSH zu verbinden,
ssh senthil@SERVER_IP
Ich wurde aufgefordert, ein Passwort einzugeben. Nach der Passworteingabe wurde angezeigt:
Permission denied, please try again.
Bei einigen Nachforschungen wurde mir klar, dass ich das Authentifizierungsprotokoll meines Servers überwachen muss. Ich habe den folgenden Fehler in meinem Authentifizierungsprotokoll (/var/log/auth.log)
Jul 2 09:38:07 ip-192-xx-xx-xxx sshd[3037]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=MY_CLIENT_IP user=senthil
Jul 2 09:38:09 ip-192-xx-xx-xxx sshd[3037]: Failed password for senthil from MY_CLIENT_IP port 39116 ssh2
Als ich versuchte zu debuggen mit:
ssh -v senthil@SERVER_IP
OpenSSH_5.9p1 Debian-5ubuntu1, OpenSSL 1.0.1 14 Mar 2012
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug1: Connecting to SERVER_IP [SERVER_IP] port 22.
debug1: Connection established.
debug1: identity file {MY-WORKSPACE}/.ssh/id_rsa type 1
debug1: Checking blacklist file /usr/share/ssh/blacklist.RSA-2048
debug1: Checking blacklist file /etc/ssh/blacklist.RSA-2048
debug1: identity file {MY-WORKSPACE}/.ssh/id_rsa-cert type -1
debug1: identity file {MY-WORKSPACE}/.ssh/id_dsa type -1
debug1: identity file {MY-WORKSPACE}/.ssh/id_dsa-cert type -1
debug1: identity file {MY-WORKSPACE}/.ssh/id_ecdsa type -1
debug1: identity file {MY-WORKSPACE}/.ssh/id_ecdsa-cert type -1
debug1: Remote protocol version 2.0, remote software version OpenSSH_5.8p1 Debian-7ubuntu1
debug1: match: OpenSSH_5.8p1 Debian-7ubuntu1 pat OpenSSH*
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_5.9p1 Debian-5ubuntu1
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: server->client aes128-ctr hmac-md5 none
debug1: kex: client->server aes128-ctr hmac-md5 none
debug1: sending SSH2_MSG_KEX_ECDH_INIT
debug1: expecting SSH2_MSG_KEX_ECDH_REPLY
debug1: Server host key: ECDSA {SERVER_HOST_KEY}
debug1: Host 'SERVER_IP' is known and matches the ECDSA host key.
debug1: Found key in {MY-WORKSPACE}/.ssh/known_hosts:1
debug1: ssh_ecdsa_verify: signature correct
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: Roaming not allowed by server
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: password
debug1: Next authentication method: password
senthil@SERVER_IP's password:
debug1: Authentications that can continue: password
Permission denied, please try again.
senthil@SERVER_IP's password:
Als Passwort habe ich den gleichen Wert eingegeben, den ich normalerweise für Ubuntu-Benutzer verwende.
Kann mich jemand bitte anleiten, wo das Problem liegt, und eine Lösung für dieses Problem vorschlagen?
ubuntu
Benutzer festgelegt? Und Sie sind sicher, dass Sie es richtig eingeben? Nehmen Sie auch die Ausgabe vonid ubuntu
run von Ihrem Server in Ihre Frage auf. Hast du den Account vielleicht gesperrt? Berücksichtigen Sie die Ausgabe vongrep ^ubuntu /etc/passwd /etc/shadow
(und ändern Sie das verschlüsselte Kennwort nur in der Mitte der Zeichenfolge).Antworten:
Sie haben das Konto gesperrt.
Aus der Manpage von
usermod(8)
:Schauen Sie sich jetzt Ihre
shadow
Zeile an:Entsperre es:
Wichtige Notiz! Wenn dieser Benutzer auf dem System vorinstalliert ist, ist er möglicherweise aus Sicherheitsgründen gesperrt, aber das kann ich für Sie nicht entscheiden, da dies anscheinend keine reguläre Ubuntu-Installation ist.
Wenn Sie sich durch das oben Gesagte unwohl fühlen, können Sie einen separaten Benutzer erstellen:
und beantworte die Fragen. Sie sollten sich gut einloggen können. Ermöglichen Sie es auch, root zu werden (verwenden
sudo
), indem Sie es dersudo
Gruppe hinzufügen :Wenn Sie in
ubuntu
der Befehlszeile zum Benutzer wechseln müssen , müssen Sie Ihre erhöhten Berechtigungen verwenden, da Sie aus demselben Grund keine Anmeldeinformationen angeben können, aus dem Sie sich auch nicht mit SSH anmelden können. Melden Sie sich jetzt mit SSH alsusername
an und führen Sie Folgendes ausubuntu
:Aus Sicherheitsgründen würde ich nicht empfehlen
root
, sich direkt anzumelden.quelle
root
Account? Dieses Konto hat kein Passwort und ist standardmäßig gesperrt. Hast du es aktiviert?Ich habe das gleiche Problem und es dauert für mich viele Stunden.
Ich stelle jedoch fest, dass es ein falsches Passwort ist, da das Tastaturlayout des Servers und des Clients unterschiedlich ist:
In Server, dachte ich , dass ich Passwort gesetzt:
WEwd@ds
Und ich fest , dass@
ist"
in dem Server - Tastaturlayout.Das richtige Passwort lautet also:
WEwd"ds
Daher müssen Sie Folgendes überprüfen:
Tastaturbelegung des Servers [vs] Tastaturbelegung der Workstation
quelle
Dies ist keine genaue Antwort auf diese Frage. In meinem Fall gab es jedoch redundante Leitungen. (Es gab die gleiche Zeile zweimal)
und auch
Sie sollten dieser Zeile den Benutzer 'root' hinzufügen oder diese Zeile kommentieren.
Und starte ssh neu
service sshd restart
quelle
Ich habe gefunden, wo das Problem liegt und behoben.
Ich habe einen neuen Benutzer (mit dem Namen: senthil) erstellt und ihn nur für SSH verwendet. In Ubuntu habe ich das Gefühl, dass beim Erstellen eines neuen Benutzers standardmäßig das Kennwort des Root-Benutzers dem neuen Benutzer zugewiesen wird. Setzen Sie auch dann das Kennwort zurück und weisen Sie den neu erstellten Benutzern ein neues Kennwort zu.
Nachdem das Benutzerkennwort zurückgesetzt wurde und die folgenden Änderungen in sshd_config vorgenommen wurden, kann ich jetzt alle meine Systeme (von meinem Netzwerk) mit dem Remote-Server verbinden.
Bitte beachten Sie: Ich habe alle SSH-Authentifizierungen (wie RSAAuthentication, PubkeyAuthentication und KerberosAuthentication) deaktiviert. Ich habe nur die PasswordAuthentication aktiviert.
Danke dir.
quelle
adduser
. Hast duuseradd
stattdessen verwendet?Ich habe eine Lösung für Sie In Ihrer sshd_config-Datei fügen Sie diese folgende Zeile am Ende der Datei hinzu:
In dieser Zeile kann Ihr Server eine Verbindung zum Benutzernamen herstellen: senthil. Ein anderer Benutzer wird abgelehnt. Gehen Sie danach auf Ihrem Server zu Ihrem Terminal und geben Sie den folgenden Befehl ein:
Getan! Viel Glück für Sie Weitere Informationen können Sie hier sehen. http://www.htpcbeginner.com/install-ssh-server-on-ubuntu-1204/
quelle
In meinem Fall löste dies das Problem: Auf dem Server, auf dem openssh-server ausgeführt wird, habe ich das Benutzer- (myserverusername) und Root-Kennwort (root) in das zuvor verwendete geändert:
und
Starten Sie dann den SSH-Server-Daemon neu:
Es ist seltsam, weil ich mich nicht erinnern kann, mein Passwort geändert zu haben
quelle
Überprüfen Sie Ihre
/etc/hosts
Datei für den verzweifelten Fall noch einmal, um sicherzustellen, dass Sie Ihren Computer nicht dazu verleiten, anzunehmen, dass ein bestimmter Hostname eine andere IP-Adresse hat als er tatsächlich ist. >. <quelle
Überprüfen
sshd
Zugriffsliste für Zugelassene Benutzer (config - Datei)cat /etc/ssh/sshd_config
AllowUsers
Sollte dies nicht der Fall sein, sollte es
#
wie im folgenden Beispiel auskommentiert werden.quelle
Ich habe viele Antworten auf diese Fragen gesehen. Auch ich habe mich dem Problem gestellt. Mein Fall war, dass meine SSH-Verbindung funktionierte, bevor ich zu Windows 10 wechselte, das automatisch aktualisiert wurde. Hat auf meinem Desktop lange nicht mehr mit Ubuntu funktioniert.
Ich bin nicht sicher, was das Problem war. Ich habe die \ etc \ hosts-Datei und die sshd_config-Datei überprüft. Alles sah in Ordnung aus. Dann habe ich beschlossen, meine Antivirus-Einstellungen zu überprüfen - Bingo, das ist das Problem!
Die Kittanwendung befand sich auf der abgelehnten Liste. Also aktiviere es ... dann melde dich erfolgreich an. Ein großer Schrei!
quelle
Überprüfen Sie #cat / etc / ssh / sshd_config, wenn Sie den Zeilenanfang mit "AllowUsers" gefunden haben. Fügen Sie Ihren Benutzer wie folgt hinzu: AllowUsers scom omar ahmed root
quelle