In meinem Backup-Script sichere ich seit langer Zeit meine Daten auf mybooklive.fritz.box (das ist mein NAS). Von einem Tag auf den anderen funktioniert das Script nicht mehr.
Kurzfassung der Lösung
AllowUsers root wnf bine
# chown wnf:share /shares/wnf
Woran kann das liegen?
Der Ping funktioniert
$ ping mybooklive.fritz.box
PING mybooklive.fritz.box (192.168.1.6) 56(84) bytes of data.
64 bytes from mybooklive (192.168.1.6): icmp_req=1 ttl=64 time=0.197 ms
$ ping mybooklive.local
PING mybooklive.local (192.168.1.6) 56(84) bytes of data.
64 bytes from mybooklive (192.168.1.6): icmp_req=1 ttl=64 time=0.161 ms
$ ping mybooklive
PING mybooklive (192.168.1.6) 56(84) bytes of data.
Jetzt versuche ich mich per ssh auf MyBookLive anzumelden.
$ ssh root@mybooklive.fritz.box
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that a host key has just been changed.
The fingerprint for the RSA key sent by the remote host is
37:75:0e:15:12:78:30:55:11:fb:9b:aa:21:b4:df:05.
Please contact your system administrator.
Add correct host key in /home/wnf/.ssh/known_hosts to get rid of this message.
Offending RSA key in /home/wnf/.ssh/known_hosts:7
remove with: ssh-keygen -f "/home/wnf/.ssh/known_hosts" -R mybooklive.fritz.box
RSA host key for mybooklive.fritz.box has changed and you have requested strict checking.
Host key verification failed.
Ja, wenn der ssh-Zugriff auf MyBookLive nicht mehr funktioniert, dann kann die Datensicherung natürlich auch nicht mehr funktionieren.
Also wie angegeben den alten Schlüssel entfernen:
$ ssh-keygen -f "/home/wnf/.ssh/known_hosts" -R mybooklive.fritz.box
/home/wnf/.ssh/known_hosts updated.
Original contents retained as /home/wnf/.ssh/known_hosts.old
Und dann beim Anmelden per ssh wieder herstellen:
wnf@c2012:~$ ssh root@mybooklive.fritz.box
The authenticity of host 'mybooklive.fritz.box (192.168.1.6)' can't be established.
RSA key fingerprint is 37:75:0e:15:12:78:30:55:11:fb:9b:aa:21:b4:df:05.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'mybooklive.fritz.box' (RSA) to the list of known hosts.
Warning: the RSA host key for 'mybooklive.fritz.box' differs from the key for the IP address '192.168.1.6'
Offending key for IP in /home/wnf/.ssh/known_hosts:4
Are you sure you want to continue connecting (yes/no)? yes
root@mybooklive.fritz.box's password:
Als normaler User kann ich mich immer noch nicht anmelden. Bei der Kontrolle der Datei /etc/ssh/sshd_config auf MyBookLive fiel mir auf, dass in der Zeile
AllowUsers root
die anderen Benutzer fehlten
AllowUsers root wnf bine
außerdem
#AuthorizedKeysFile %h/.ssh/authorized_keys
ändern in
AuthorizedKeysFile %h/.ssh/authorized_keys
Also die Datei bearbeiten und vom sshd neu einlesen lassen:
# nano /etc/ssh/sshd_config
MyBookLive:/# /etc/init.d/ssh reload
Und es funktioniert immer noch kein Einloggen ohne Passwort.
Deshalb als root auf mybooklive einloggen und die Meldungen aus /var/log/sshd.log anzeigen:
# egrep -i 'ssh.*wnf' /var/log/sshd.log
May 3 15:02:59 MyBookLive sshd[7320]: Authentication refused: bad ownership or modes for directory /shares/wnf
May 3 15:02:59 MyBookLive sshd[7320]: Authentication refused: bad ownership or modes for directory /shares/wnf
Kontrolle wer das Homeverzeichnis besitzt:
# ls -l /shares/
drwxr-xr-x 17 nobody share 65536 Aug 26 2013 wnf
# chown wnf:share /shares/wnf
# ls -l /shares/
drwxr-xr-x 17 wnf share 65536 Aug 26 2013 wnf
Und siehe da es funktioniert der passwort-lose zugriff auf mein NAS MyBookLive wieder.
Neuer Rechner neues Glück.
Das anmelden per ssh funktioniert nur per Passwort-Authentifizierung.
$ ssh-copy-id -i ~/.ssh/id_rsa.pub bine@mybooklive
Warning: the RSA host key for 'mybooklive' differs from the key for the IP address '192.168.1.6'
Offending key for IP in /home/bine/.ssh/known_hosts:3
Matching host key in /home/bine/.ssh/known_hosts:5
Are you sure you want to continue connecting (yes/no)? yes
bine@mybooklive's password:
sh: line 2: .ssh/authorized_keys: Keine Berechtigung
Login auf MyBookLive und dort die .ssh/authorized_keys löschen
rm .ssh/authorized_keys
wieder ausloggen und den Schlüssel erneut übertragen:
$ ssh-copy-id -i ~/.ssh/id_rsa.pub bine@mybooklive
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
bine@mybooklive's password:
Number of key(s) added: 1
Now try logging into the machine, with: "ssh 'bine@mybooklive'"
and check to make sure that only the key(s) you wanted were added.
$ ssh mybooklive
Tags: Linux-Scripte MyBookLive ssh