2012-03-12 19:37:26 +0000 2012-03-12 19:37:26 +0000
54
54
Advertisement

scp'ing mit Schlüsseldatei als Parameter, Wie kann ich das tun, wenn möglich?

Advertisement
scp -i ~/.ssh/id_rsa.pub events*$date*_QA.log $remote_user@$remote_server:$remote_location

Ist das vorgenannte Skript falsch? Mache ich es nicht richtig?

Ich bin in das Verzeichnis .ssh gegangen und habe gesehen, dass der Remote-Server in der Datei known_hosts steht.

Aber wenn ich einen normalen scp ohne Datei als Parameter ausführe, wird immer noch nach dem Passwort gefragt

scp events*$date*_QA.log $remote_user@$remote_server:$remote_location

Wie kann ich die Schlüsseldatei in meinen Befehl einschließen?

sh-3.2$ grep server ~/.ssh/*
/home/user/.ssh/known_hosts:server....com,ip_addr ssh-rsa Asine=jhjsdhfjsadhfjkashdfjhasdjfhksadjfhasjdfhj
Advertisement
Advertisement

Antworten (3)

70
70
70
2012-03-12 21:17:14 +0000
-i identity_file
         Selects the file from which the identity (private key) for public
         key authentication is read. This option is directly passed to
         ssh(1).

Verwenden Sie ~/.ssh/id_rsa.

1
1
1
2019-07-11 15:53:49 +0000

Dies könnte einem anderen Neuling helfen.

[Ich weiß, das ist ein redundantes, zirkuläres Beispiel, aber es ist gut zur Veranschaulichung] Szenario:

  1. ssh von Mac -> Ubuntu
  2. scp-Dateien von Mac -> Ubuntu
  3. ssh und scp-Dateien von Ubuntu schließen -> Mac

Ich hatte nur ssh-Schlüssel auf meinem Mac erstellt (über ssh-keygen) und sie mit dem Rechner, auf dem Ubuntu läuft, über (ssh-copy-id) geteilt. So konnte ich Dateien kopieren, während ich auf meinem Mac von der Maschine, auf der Ubuntu läuft, eingeloggt war, aber nicht andersherum.

Lösung: Ich musste ssh-Schlüssel auf der Ubuntu-Maschine erstellen und sie für meinen Mac freigeben. Dann konnte ich erfolgreich den folgenden Befehl auf der Ubuntu-Maschine ausführen

Mac IP: 192.168.1.40
Ubuntu IP: 192.168.1.38

Auf Mac

ssh-keygen
ssh-copy-id ubuntu@192.168.1.38

ssh ubuntu@192.168.1.38

# Now on Ubuntu
ssh-keygen
ssh-copy-id MAC@192.168.1.40

Und nun sollte der folgende Befehl die Datei ohne Passwortabfrage nach MAC

sudo scp -i /home/ubuntu/.ssh/id_rsa MAC@192.168.1.40:~/Documents/Fluff/Version-Control/tools/pull.sh .
``` kopieren
0
Advertisement
0
0
2016-05-24 21:39:24 +0000
Advertisement

Getestet und korrigiert über diese Anweisungen https://askubuntu.com/questions/46930/how-can-i-set-up-password-less-ssh-login

Die Anweisungen hier funktionierten einwandfrei, als ich auf meinen Kisten (CentOS/CentOS) getestet habe. Ich vermute, das Problem ist, dass Ihre ssh-Schlüssel nicht an einen Benutzernamen gebunden sind.

Beispiel: cat authorized_keys # auf der Box bin ich sshing/scpin’ zu ssh- rsa BLAHBLAHBLAHBLAH/zAcS4kD9pyPAjD3/gd5D1rcQa6IztCMR9yMXiGFnxviWsT8/oYevZw25k4yREuA8ibLKC9peH1X4LK1E+n7gq4TETexWkZbQ2XGLOX44eglra3MB4FShPg0cZXGcJWltPQ/y0Ay2A/KmaC14YrDfqwm7+ibTiUp4hOO8I6eIPmwwGn/2hs0SewJXisGqUx2v my_user@machine.local #Benutzername ist an den Schlüssel gebunden und ist ein autorisierter Host

Advertisement

Verwandte Fragen

6
10
19
12
4
Advertisement
Advertisement