ich möchte eine Skriptdatei im Stammverzeichnis eines anderen Computers platzieren. hier ist mein Terminalbefehl
scp /var/www/html/script.sh [email protected]:script.sh
es fragt nach dem Root-Passwort. Ich gebe das richtige Root-Passwort ein, aber es heißt
Permission denied, please try again.
Kann jemand helfen?
Antwort1
Standardmäßig verweigert OpenSSH jeden Root-Anmeldeversuch. Dies kann jedoch durch eine Änderung /etc/ssh/sshd_config
auf der Serverseite zugelassen werden.
Stellen Sie sicher, dass diese Zeile auf „yes“ gesetzt und „no“ auskommentiert ist:
PermitRootLogin yes
Und laden Sie dann Ihr SSHD neu.
Allerdings ist das obige Setup keine gute Sicherheitspraxis. Verwenden Sie stattdessen die Pubkey-Anmeldung.
Die Konfigurationszeile sollte lauten:
PermitRootLogin without-password
.
Folgen Sie auf der Quellmaschine dem Assistenten, um den Schlüssel zu generieren:
ssh-keygen -t rsa
Der obige Befehl erstellt ein öffentliches und ein privates Schlüsselpaar
.ssh/id_rsa.pub
und enthält es. Sie müssen den Inhalt auf den Zielcomputer kopieren . Erstellen Sie das Verzeichnis und die Datei, falls sie noch nicht vorhanden sind, und stellen Sie sicher, dass die autorisierten Schlüssel Eigentümer sind ..ssh/id_rsa
.ssh/id_rsa.pub
/root/.ssh/authorized_keys
600
Versuchen Sie es jetzt mit SCP. Sie werden nach dem Passwort gefragt, das Sie in Schritt 1 eingegeben haben.
Antwort2
Vorausgesetzt, Sie verfügen über einen passwortlosen Sudo-Zugriff, sollte Folgendes funktionieren:
$ echo "My test file" > test
$ scp test [email protected]:/tmp/
test
$ ssh [email protected] "sudo mv /tmp/test /"
$ ssh [email protected] "cat /test"
My test file
- Erstellen Sie eine Testdatei.
- Datei in temporäres Verzeichnis kopieren.
- Datei ins Stammverzeichnis verschieben.
- Testen Sie, ob sich die Datei im Stammverzeichnis befindet.