Ich habe eine ArchLinux-Maschine (Kernel 4.8.4-1), die ich in einen SSH-Server umwandeln möchte. In den letzten Tagen hatte ich Probleme, sie zum Laufen zu bringen. Ich habe jede Menge Artikel, Tutorials und ähnliches gelesen, aber sie sehen alle gleich aus und keiner löst mein Problem.
Nach dem Rennen
$ssh -vvv alagris@Oelkozadam
Ich bekomme:
OpenSSH_7.3p1, OpenSSL 1.0.2j 26 Sep 2016
debug1: Reading configuration data /home/alagris/.ssh/config
debug1: /home/alagris/.ssh/config line 1: Applying options for Oelkozadam
debug1: Reading configuration data /etc/ssh/ssh_config
debug2: resolving "oelkozadam" port 22
debug2: ssh_connect_direct: needpriv 0
debug1: Connecting to oelkozadam [192.168.7.145] port 22.
debug1: Connection established.
debug1: identity file /home/alagris/.ssh/test type 1
debug1: key_load_public: No such file or directory
debug1: identity file /home/alagris/.ssh/test-cert type -1
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_7.3
debug1: Remote protocol version 2.0, remote software version OpenSSH_7.3
debug1: match: OpenSSH_7.3 pat OpenSSH* compat 0x04000000
debug2: fd 3 setting O_NONBLOCK
debug1: Authenticating to oelkozadam:22 as 'alagris'
debug3: send packet: type 20
debug1: SSH2_MSG_KEXINIT sent
debug3: receive packet: type 20
debug1: SSH2_MSG_KEXINIT received
debug2: local client KEXINIT proposal
debug2: KEX algorithms: [email protected],ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nist p521,diffie-hellman-group-exchange-sha256,diffie-hellman-group16-sha512,diffie-hellman-group18-sha512,dif fie-hellman-group-exchange-sha1,diffie-hellman-group14-sha256,diffie-hellman-group14-sha1,ext-info-c
debug2: host key algorithms: [email protected],ecdsa-sha2-nistp384-cert-v01@openss h.com,[email protected],[email protected],ssh-rsa-cert-v01@openssh. com,ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,ssh-ed2551 9,rsa-sha2-512,rsa-sha2-256,ssh-rsa
debug2: ciphers ctos: [email protected],aes128-ctr,aes192-ctr,aes256-ctr,[email protected] om,[email protected],aes128-cbc,aes192-cbc,aes256-cbc,3des-cbc
debug2: ciphers stoc: [email protected],aes128-ctr,aes192-ctr,aes256-ctr,[email protected] om,[email protected],aes128-cbc,aes192-cbc,aes256-cbc,3des-cbc
debug2: MACs ctos: [email protected],[email protected],[email protected],hmac-sh [email protected],[email protected],[email protected],[email protected],hmac-sha2-256,h mac-sha2-512,hmac-sha1
debug2: MACs stoc: [email protected],[email protected],[email protected],hmac-sh [email protected],[email protected],[email protected],[email protected],hmac-sha2-256,h mac-sha2-512,hmac-sha1
debug2: compression ctos: none,[email protected],zlib
debug2: compression stoc: none,[email protected],zlib
debug2: languages ctos:
debug2: languages stoc:
debug2: first_kex_follows 0
debug2: reserved 0
debug2: peer server KEXINIT proposal
debug2: KEX algorithms: [email protected],ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nist p521,diffie-hellman-group-exchange-sha256,diffie-hellman-group16-sha512,diffie-hellman-group18-sha512,dif fie-hellman-group14-sha256,diffie-hellman-group14-sha1
debug2: host key algorithms: ssh-rsa,rsa-sha2-512,rsa-sha2-256,ecdsa-sha2-nistp256,ssh-ed25519
debug2: ciphers ctos: [email protected],aes128-ctr,aes192-ctr,aes256-ctr,[email protected] om,[email protected]
debug2: ciphers stoc: [email protected],aes128-ctr,aes192-ctr,aes256-ctr,[email protected] om,[email protected]
debug2: MACs ctos: [email protected],[email protected],[email protected],hmac-sh [email protected],[email protected],[email protected],[email protected],hmac-sha2-256,h mac-sha2-512,hmac-sha1
debug2: MACs stoc: [email protected],[email protected],[email protected],hmac-sh [email protected],[email protected],[email protected],[email protected],hmac-sha2-256,h mac-sha2-512,hmac-sha1
debug2: compression ctos: none,[email protected]
debug2: compression stoc: none,[email protected]
debug2: languages ctos:
debug2: languages stoc:
debug2: first_kex_follows 0
debug2: reserved 0
debug1: kex: algorithm: [email protected]
debug1: kex: host key algorithm: ecdsa-sha2-nistp256
debug1: kex: server->client cipher: [email protected] MAC: <implicit> compression: none
debug1: kex: client->server cipher: [email protected] MAC: <implicit> compression: none
debug3: send packet: type 30
debug1: expecting SSH2_MSG_KEX_ECDH_REPLY
debug3: receive packet: type 31
debug1: Server host key: ecdsa-sha2-nistp256 SHA256:LOy/ttmSoIpf6+H0jRYCVveaNrhjTRDV61fCx6CQxQ4
The authenticity of host 'oelkozadam (192.168.7.145)' can't be established.
ECDSA key fingerprint is SHA256:LOy/ttmSoIpf6+H0jRYCVveaNrhjTRDV61fCx6CQxQ4.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'oelkozadam,192.168.7.145' (ECDSA) to the list of known hosts.
debug3: send packet: type 21
debug2: set_newkeys: mode 1
debug1: rekey after 134217728 blocks
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug3: receive packet: type 21
debug2: set_newkeys: mode 0
debug1: rekey after 134217728 blocks
debug1: SSH2_MSG_NEWKEYS received
debug2: key: /home/alagris/.ssh/test (0x55ad2b5b8360), explicit, agent
debug3: send packet: type 5
debug3: receive packet: type 7
debug1: SSH2_MSG_EXT_INFO received
debug1: kex_input_ext_info: server-sig-algs=<rsa-sha2-256,rsa-sha2-512>
debug3: receive packet: type 6
debug2: service_accept: ssh-userauth
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug3: send packet: type 50
debug3: receive packet: type 53
debug3: input_userauth_banner
Welcome to Oelkozadam's remote workstation. Intruders are not so welcome.
debug3: receive packet: type 51
debug1: Authentications that can continue: publickey
debug3: start over, passed a different list publickey
debug3: preferred publickey,keyboard-interactive,password
debug3: authmethod_lookup publickey
debug3: remaining preferred: keyboard-interactive,password
debug3: authmethod_is_enabled publickey
debug1: Next authentication method: publickey
debug1: Offering RSA public key: /home/alagris/.ssh/test
debug3: send_pubkey_test
debug3: send packet: type 50
debug2: we sent a publickey packet, wait for reply
debug3: receive packet: type 51
debug1: Authentications that can continue: publickey
debug2: we did not send a packet, disable method
debug1: No more authentication methods to try.
Permission denied (publickey).
Dies sind die Berechtigungen:
chmod 700 ~/.ssh
chmod 644 ~/.ssh/authorized_keys
chown alagris:users ~/.ssh/authorized_keys
Ich habe Schlüssel mit diesem Befehl generiert:
ssh-keygen -b 3072 -f "~/.ssh/$key" -P "$pass" -C "$(whoami)@$(hostname)-$(date -I)"
und habe cat verwendet, um den öffentlichen Schlüssel an ~/.ssh/authorized_keys anzuhängen
~/.ssh/config sieht wie folgt aus:
Host Oelkozadam
IdentitiesOnly yes
IdentityFile ~/.ssh/test
/etc/ssh/sshd_config sieht wie folgt aus:
Port 22
AddressFamily any
ListenAddress 192.168.7.145
AllowUsers remote_user alagris
PermitRootLogin no
Banner /my/config/SSH_ServerBanner
PasswordAuthentication no
ChallengeResponseAuthentication no
AuthorizedKeysFile ~/.ssh/authorized_keys
ChallengeResponseAuthentication no
UsePAM yes
Subsystem sftp /usr/lib/ssh/sftp-server
PrintMotd no
"$systemctl edit sshd.socket" sieht folgendermaßen aus:
[Socket]
ListenStream=
ListenStream=22
Ich habe keine Ahnung, was ich sonst noch tun könnte, damit es funktioniert. Ich habe auch versucht, von meinem Mac-Laptop über LAN per SSH zu kommunizieren, aber ich erhalte ähnliche Ergebnisse.
(Bearbeiten: Ich habe alle Dateien in ~/.ssh entfernt und test und test.pub von Grund auf neu erstellt, test.pub zu ~/.ssh/authorized_keys hinzugefügt, erneut die Berechtigungen für alle diese Dateien festgelegt, den Computer neu gestartet und ausgeführt
eval $(ssh-agent)
ssh-add ~/.ssh/test
und wieder verbunden. Die Ausgabe hat sich leicht geändert. Jetzt heißt es:
Offering RSA public key: /home/alagris/.ssh/test
Der Vorherige:
Offering RSA public key: /my/config/SSH/test
war wahrscheinlich der Fehler einiger nicht angewendeter Änderungen, die nach dem Neustart aktualisiert wurden. Interessant ist auch, dass beim Neuerstellen der Datei authorized_keys der Schlüssel, den ich für meinen Mac-Computer generiert hatte, verloren ging und die Ausgabe der SSH-Verbindung dennoch absolut dieselbe ist. Sie ist der Ausgabe auf dem lokalen Computer sehr ähnlich, aber das Ende:
send packet: type 50
debug2: we sent a publickey packet, wait for reply
debug3: receive packet: type 51
debug1: Authentications that can continue: publickey
debug1: Trying private key: /Users/alagris/.ssh/id_dsa
debug3: no such identity: /Users/alagris/.ssh/id_dsa: No such file or directory
debug1: Trying private key: /Users/alagris/.ssh/id_ecdsa
debug3: no such identity: /Users/alagris/.ssh/id_ecdsa: No such file or directory
debug1: Trying private key: /Users/alagris/.ssh/id_ed25519
debug3: no such identity: /Users/alagris/.ssh/id_ed25519: No such file or directory
debug2: we did not send a packet, disable method
debug1: No more authentication methods to try.
Permission denied (publickey).
)
PS. Ich wünschte, ich könnte Protokolle sehen, die direkt vom Server kommen, aber es scheint, dass es unter ArchLinux keine Dateien wie /var/log/auth.log gibt. Ich kann nur journalctl anzeigen, das ziemlich leer zu sein scheint.
Antwort1
entsprechend Ihrer .ssh/config
~/.ssh/config sieht wie folgt aus:
Host Oelkozadam
IdentitiesOnly yes
IdentityFile ~/.ssh/test
Sie verwenden ~/.ssh/test
als privaten Schlüssel, ist der entsprechende öffentliche Schlüssel in der authorized_keys
Datei aufgeführt?
Außerdem erwähnen Sie ein Passwort:
Ich habe Schlüssel mit diesem Befehl generiert:
ssh-keygen -b 3072 -f "~/.ssh/$key" -P "$pass" -C "$(whoami)@$(hostname)-$(date -I)"
ist dieser Schlüssel geladen (mit ssh-add
)?
Überprüfen Sie das also
- Der öffentliche Teil
~/.ssh/test
befindet sich in authorized_keys ~/.ssh/test
ist geladen (verwendenssh-add -l
)
Antwort2
Ich habe keine Ahnung, was passiert ist. Ich hatte schon aufgegeben, aber nach ein paar Neustarts funktionierte es wie durch Zauberhand.