SSH Zugriff weder per neuem User noch per mod root Access möglich

ros

New Member
Apr 22, 2025
6
0
1
Hallo zusammen,
ich bin Neuling im Bereich Proxmox und musste direkt nach dem Aufsetzen der ersten drei Container feststellen, dass ich mit meinem root User keinen Zugriff per SSH darauf habe.

Also habe ich mich eingelesen und generell zwei Möglichkeiten gefunden, dies zu beheben:
1. Pro Container die Datei sshd_config abändern, PermitRootLogin auf yes stellen und Restart des SSH-Dienstes
2. Einen neuen User erstellen und diesem die entsprechenden Rechte zuweisen

Beide Wege funktionieren bei mir leider nicht und ich weiß nicht mehr weiter.
Weder Option 1 (Datei wurde gespeichert, Container gestoppt und neu gestartet) noch Option 2 helfen bei mir.
Für Option 2 habe ich einen neuen PAM- und einen PVE-User angelegt und diesen (vorerst) mit admin-Rechten ausgestattet. Eine Group habe ich aktuell nicht angelegt, sondern die Rechte über "User Permission" vergeben. Eine Gruppe hatte ich vorher aber auch schon erstellt, dies hat ebenfalls nicht geholfen.

Zusätzlich habe ich auch noch jedem einzelnen Container den neuen Admin-User über die Permissions hinzugefügt (keine Ahnung, ob dies nötig ist).
Ich nutze die aktuellste Version 8.4.1.

Screen Shot 2025-04-22 at 06.06.45.550 PM.png
 
Also wenn ich mich nicht irre, dann müsstest du die User schon im Container selber anlegen. Das was du da angelegt hast sind Benutzer für den proxmox Server selber.

Pro Container die Datei sshd_config abändern, PermitRootLogin auf yes stellen und Restart des SSH-Dienste
Ist die Zeile noch mit einer "#" auskommentiert?
Zeige und doch bitte einmal eine Config.
 
  • Like
Reactions: ros
Also wenn ich mich nicht irre, dann müsstest du die User schon im Container selber anlegen. Das was du da angelegt hast sind Benutzer für den proxmox Server selber.
So eine Option, um einen User direkt im Container anzulegen sehe ich leider nicht im Menü. Ich sehe nur "Permissions" und hier habe ich den neu erstellten User verrechtet.
Screen Shot 2025-04-22 at 06.22.18.796 PM.png

Ist die Zeile noch mit einer "#" auskommentiert?
Zeige und doch bitte einmal eine Config.

Anbei die komplette Datei (ich habe nur "PermitRootLogin" geändert:
Code:
# This is the sshd server system-wide configuration file.  See
# sshd_config(5) for more information.

# This sshd was compiled with PATH=/usr/local/bin:/usr/bin:/bin:/usr/games

# The strategy used for options in the default sshd_config shipped with
# OpenSSH is to specify options with their default value where
# possible, but leave them commented.  Uncommented options override the
# default value.

Include /etc/ssh/sshd_config.d/*.conf

#Port 22
#AddressFamily any
#ListenAddress 0.0.0.0
#ListenAddress ::

#HostKey /etc/ssh/ssh_host_rsa_key
#HostKey /etc/ssh/ssh_host_ecdsa_key
#HostKey /etc/ssh/ssh_host_ed25519_key

# Ciphers and keying
#RekeyLimit default none

# Logging
#SyslogFacility AUTH
#LogLevel INFO

# Authentication:

#LoginGraceTime 2m
#PermitRootLogin prohibit-password
PermitRootLogin yes
#StrictModes yes
#MaxAuthTries 6
#MaxSessions 10

#PubkeyAuthentication yes

# Expect .ssh/authorized_keys2 to be disregarded by default in future.
#AuthorizedKeysFile     .ssh/authorized_keys .ssh/authorized_keys2

#AuthorizedPrincipalsFile none

#AuthorizedKeysCommand none
#AuthorizedKeysCommandUser nobody

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

# To disable tunneled clear text passwords, change to no here!
#PasswordAuthentication yes
#PermitEmptyPasswords no

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

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

# GSSAPI options
#GSSAPIAuthentication no
#GSSAPICleanupCredentials yes
#GSSAPIStrictAcceptorCheck yes
#GSSAPIKeyExchange no

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

#AllowAgentForwarding yes
#AllowTcpForwarding yes
#GatewayPorts no
X11Forwarding yes
#X11DisplayOffset 10
#X11UseLocalhost yes
#PermitTTY yes
PrintMotd no
#PrintLastLog yes
#TCPKeepAlive yes
#PermitUserEnvironment no
#Compression delayed
#ClientAliveInterval 0
#ClientAliveCountMax 3
#UseDNS no
#PidFile /run/sshd.pid
#MaxStartups 10:30:100
#PermitTunnel no
#ChrootDirectory none
#VersionAddendum none

# no default banner path
#Banner none

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

# override default of no subsystems
Subsystem       sftp    /usr/lib/openssh/sftp-server

# Example of overriding settings on a per-user basis
#Match User anoncvs
#       X11Forwarding no
#       AllowTcpForwarding no
#       PermitTTY no
#       ForceCommand cvs server
 
@ThoSo
Ich habe es nun teilweise hinbekommen. Ich habe pro Container nun einen User per Console hinzugefügt (adduser abc).

Jetzt kann ich per SSH mit beschränkten Rechten zugreifen. Viele Kommandos kann ich aber nicht ausführen.

Ich verstehe aber trotzdem nicht, warum Option 1 nicht funktioniert hat und muss ich jetzt bei jedem neuen Container den User händisch hinzufügen?
 
Last edited:
Hallo,
üblicherweise fügt man einen SSH-Schlüssel (pubkey) beim Erstellen des Containers direkt hinzu. Das ist am Einfachsten.

1745391113603.png

Alternativ kannst Du Dich auch zu Deinem Proxmox verbinden und via pct enter <ct-id> in den Container rein.

Die in der Proxmox-GUI angelegten Nutzer helfen Dir für den SSH-Login in den Container hinein nicht. Das sind, wie @ThoSo schon sagte, unabhängige Elemente.
Wie hast du denn genau die von Dir genannte Option 1 umgesetzt und was ist die Fehlermeldung, wenn Du Dich zu verbinden versuchst?
 
  • Like
Reactions: Johannes S and ros
@fba
Guten Morgen,

Das mit dem pubkey schaue ich mir nachher mal genauer an. Danke für den Hinweis.

Wie hast du denn genau die von Dir genannte Option 1 umgesetzt und was ist die Fehlermeldung, wenn Du Dich zu verbinden versuchst?
Die Fehlermeldung über Putty lautet einfach "Access denied".
Ich habe die Datei sshd_config jeweils auf meinem Node "proxmox" und in allen meiner drei Container abgeändert (wahrscheinlich ist nur eine Änderung nötig. Also Node oder Container - ich wollte aber auf Nummer sicher gehen).
Dabei habe ich lediglich folgende Zeile hinzugefügt:
Code:
PermitRootLogin yes
Zum Schluss habe ich noch den SSH Dienst neugestartet. So wie es hier in diesem Video gezeigt wird: https://www.youtube.com/watch?v=uNcI2d8JdUM
 
Last edited:
Jetzt kann ich per SSH mit beschränkten Rechten zugreifen. Viele Kommandos kann ich aber nicht ausführen.
Wenn Du Dich in den Container via ssh verbinden kannst, dann kannst Du einfach su - nutzen und zum root-user wechseln.
 
  • Like
Reactions: ros
Danke @fba

Ich habe den Zugriff über root jetzt hinbekommen.
Ich musste erst folgende Zeile ausführen:
Code:
sudo sh -c 'echo "root:$1" | chpasswd && sed -i "/^#*PermitRootLogin/c\PermitRootLogin yes" /etc/ssh/sshd_config; grep -q "^PermitRootLogin" /etc/ssh/sshd_config || echo "PermitRootLogin yes" >> /etc/ssh/sshd_config && systemctl restart sshd' -- "Your@StrongPassword"

Hier gefunden: https://github.com/tteck/Proxmox/discussions/385
 
Die Fehlermeldung über Putty lautet einfach "Access denied".
Anmeldung über einen SSH Client an dem Container mit dem Benutzer "Root" und dem von dir bei der Erstellung des Containers eingegebenen Kennwort (nicht mit Passwort des Proxmox Hypervisors - außer die wären gleich).
muss ich jetzt bei jedem neuen Container den User händisch hinzufügen?
Jeder Container und jede Vm sind quasi eigenständige Systeme und müssen auch jeweils nach ihren Anforderungen angepasst werden. Ausgehend von den im LXC - Template vorhandenen Voreinstellungen und Eigenschaften.
Der Hypervisor ist ein eigenständiges System und alle Änderungen an den Config-Dateien betreffen nur Ihn selbst.

Wenn Du Dich in den Container via ssh verbinden kannst, dann kannst Du einfach su - nutzen und zum root-user wechseln.
Das setzt dann aber vorraus das der von Ihm angelegte Benutzer (abc) im Container in der SUEDORS Datei vorhanden ist, sonst klappt das auch nicht.
 
  • Like
Reactions: ThoSo
su - hat nichts mit sudo zu tun und braucht daher keine Konfig-Datei ala /etc/sudo*
s. https://man7.org/linux/man-pages/man1/su.1.html
Jupp, an den "su-" (+ das richtige Password!) denke ich nie - weil ich meisten von Ubuntu mit sudo arbeite, aber spätestens wenn er einer Installationsanleitung mit "SUDO"s folgt oder ein fertiges Skript laufen lässt und nicht root ist, schadet der Hinweis oben nicht.
Ich hab das mal eben auf die husche mit ubuntu 24.10 template und putty getestet - etc/ssh/sshd_config den Eintrag angepasst, reboot, mit Putty connected - läuft.
 
Anmeldung über einen SSH Client an dem Container mit dem Benutzer "Root" und dem von dir bei der Erstellung des Containers eingegebenen Kennwort (nicht mit Passwort des Proxmox Hypervisors - außer die wären gleich).
Jepp, genau so habe ich es immer gemacht. Immer "Access denied" als Meldung erhalten. Erst nach Eingabe des o.g. Befehls geht es jetzt.