Leere Passphrase erstellt ssh-Schlüsselpaar, wobei leere Passphrase bei der Authentifizierung abgelehnt wird [geschlossen]

-3

Nach der @ Sarke-Hilfe erreiche ich diese Lösung:

Hier kann die feste Version, die original kaputte Version niemandem helfen.

Über warum ich in der Lage sein muss, von einem Container zum anderen zu SSH es, dass ich Hochverfügbarkeit zu einigen Klienten benötige und Festplattenspiegelung mit DRBD oder rsync tun möchte und es über einen ssh Tunnel wünschen möchte.

xfce4-terminal -T LocalTerm
Ausfahrt

Bei LocalTerm:

lxc stop C1  
lxc stop C2  

lxc delete C1  
lxc delete C2  

lxc launch ubuntu:14.04 C1  
lxc launch ubuntu:14.04 C2  

lxc list --format csv  

xfce4-terminal -T C1Term -e "bash -c 'lxc exec C1 -- /bin/bash; exec bash; exit 0;'"  
xfce4-terminal -T C2Term -e "bash -c 'lxc exec C2 -- /bin/bash; exec bash; exit 0;'"  

Bei C1Term und C2Term:

apt-get update  
apt-get upgrade  
apt-get install netcat net-tools  
apt-get install openssh-server openssh-client  
cp /etc/ssh/sshd_config /etc/ssh/sshd_config.original  
    nano /etc/ssh/sshd_config   
        --------  
        Port 2222  
        PubkeyAuthentication yes  
        --------  

Bei LocalTerm:

lxc restart C1  
lxc restart C2  

Bei C2Term:

lxc exec C2 -- /bin/bash; exec bash  

Bei C1Term:

lxc exec C1 -- /bin/bash; exec bash  
ssh-keygen -t rsa  
    --------  
    Here using no password and all default options  
    --------  

Bei LocalTerm:

rm -rf /home/myUser/localFolder/*  

lxc file pull --recursive C1/root/.ssh/id_rsa.pub /home/myUser/localFolder/  
cat /home/myUser/localFolder/id_rsa.pub >> /home/myUser/localFolder/authorized_keys_tail  
lxc file push --recursive /home/myUser/localFolder/authorized_keys_tail C2/root/.ssh/  
lxc exec C2 -- sh -c "sudo cat /root/.ssh/authorized_keys_tail >> /root/.ssh/authorized_keys"  

Bei C1Term:

sudo ssh -i ~/.ssh/id_rsa.pem [email protected] -p2222  
Mark
quelle
ssh-keygen -f /root/.ssh/id_rsa.pub -e -m pem > /root/.ssh/id_rsa.pem Versuchen Sie dies mit der privaten Schlüsseldatei (id_rsa) anstelle der öffentlichen Schlüsseldatei (id_rsa.pub).
Kenster
@Kenster, Danke für die Hilfe, aber die Fehlermeldung bleibt gleich, nachdem auf den privaten Schlüssel gezeigt wurde, wie ich oben in Test02 beschrieben habe.
Mark
Was macht sudo ssh -i ~/.ssh/id_rsa.pem root@C2-machine-ip -p2222 -vvv gebe dir?
Sarke

Antworten:

0

ssh-copy-id wird verwendet, um den öffentlichen Schlüssel des Benutzers an den der Fernbedienung anzuhängen authorized_keys Datei. Dies ist die Datei, die zum Überprüfen der Verbindung verwendet wird. Das Kopieren der öffentlichen Schlüsseldatei führt zu nichts.

Für mich ist dies kein LXC / LXD-Problem, sondern ein SSH-Verwendungsproblem.

Um zu verwenden ssh-copy-id Wir müssen irgendwie validieren, und höchstwahrscheinlich ist unser öffentlicher Schlüssel noch nicht vorhanden, sodass ein Kennwort erforderlich ist. Wenn kein Kennwort festgelegt oder verfügbar ist, muss dies manuell erfolgen.

Versuchen

lxc file pull --recursive C1/root/.ssh/id_rsa.pub /home/myUser/localFolder/
cat id_rsa.pub >> authorized_keys
lxc file push --recursive /home/myUser/localFolder/authorized_keys C2/root/.ssh/

Aber warum müssen Sie in der Lage sein, SSH von einem Container zum anderen durchzuführen?

Sarke
quelle
Ihre Lösung hat das Problem gelöst, die vollständige Lösung auf Fragekörper, danke. Über warum ist, dass ich Hochverfügbarkeit zu einigen Klienten benötige und Festplattenspiegelung mit DRBD oder RSync tun möchte und dazu über einen SSH-Tunnel möchten.
Mark