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

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

Ist das oben erwähnte Skript falsch? Mache ich es nicht richtig?

Ich ging in das Verzeichnis .ssh und sah, dass sich der Remote-Server in der Datei known_hosts befindet.

Aber wenn ich gewöhnliches scp ohne Datei als Parameter mache, fragt es immer noch nach dem Passwort

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

Wie kann ich die Schlüsseldatei in meinen Befehl aufnehmen?

sh-3.2$ grep server ~/.ssh/*
/home/user/.ssh/known_hosts:server....com,ip_addr ssh-rsa Asine=jhjsdhfjsadhfjkashdfjhasdjfhksadjfhasjdfhj
Author: Machavity, 2012-03-12

3 answers

 -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).

Benutze ~/.ssh/id_rsa.

 71
Author: whitequark,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2012-03-12 21:17:14

Dies könnte einem anderen Noob helfen.

[Ich weiß, das ist ein redundantes kreisförmiges Beispiel, aber es ist gut zu veranschaulichen] Szenario:

  1. ssh von Mac - > Ubuntu
  2. scp-Dateien von Mac -> Ubuntu
  3. Schließen Sie ssh-und SCP-Dateien von Ubuntu - > Mac

Ich hatte nur ssh-Schlüssel auf meinem Mac erstellt (über ssh-keygen) und sie über (ssh-copy-id) mit dem Computer geteilt, auf dem Ubuntu ausgeführt wird. So konnte ich Dateien kopieren, während ich von der Maschine mit Ubuntu auf meinem Mac angemeldet war, aber nicht die anders herum.

Lösung: Ich musste SSH-Schlüssel auf dem Ubuntu-Computer erstellen und mit meinem Mac teilen. dann könnte ich den folgenden Befehl erfolgreich auf dem Ubuntu-Computer ausführen

Mac IP: 192.168.1.40
Ubuntu IP: 192.168.1.38

Auf Mac -

ssh-keygen
ssh-copy-id [email protected]

ssh [email protected]

# Now on Ubuntu
ssh-keygen
ssh-copy-id [email protected]

Und jetzt sollte der folgende Befehl die Datei kopieren, ohne nach dem Passwort zu fragen MAC

sudo scp -i /home/ubuntu/.ssh/id_rsa [email protected]:~/Documents/Fluff/Version-Control/tools/pull.sh .
 1
Author: Patrick Walter,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2019-07-11 15:53:49

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

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

Beispiel: cat authorized_keys # auf Box Ich bin sshing/ scpin ' zu ssh-rsa BLAHBLAHBLAHBLAH/zAcS4kD9pyPAjD3/gd5D1rcQa6IztCMR9yMXiGFnxviWsT8/oYevZw25k4yREuA8ibLKC9peH1X4LK1E+n7gq4TETexWkZbQ2XGLOX44eglra3MB4FShPg0cZXGcJWltPQ/y0Ay2A/KmaC14YrDfqwm7+ibTiUp4hOO8I6eIPmwwGn/2hs0SewJXisGqUx2v [email protected] #username ist an den Schlüssel gebunden und ist ein autorisierter Host

 0
Author: Max Humphrey,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2017-04-13 12:23:00