SFTP und öffentliche Schlüssel

24129
Lizard

Ich versuche, auf einen Server zu wechseln, der von einer anderen Person gehostet wird.

Um sicherzustellen, dass dies funktioniert hat, habe ich den Standard gemacht, und sftp user@sftp.xxxxxx.comich wurde mit dem Passwort aufgefordert, und das hat gut funktioniert.

Ich richte ein cron-Skript ein, um einmal pro Woche eine Datei zu senden. Geben Sie ihnen deshalb unseren öffentlichen Schlüssel, den sie angeblich in ihre Datei authorized_keys aufgenommen haben.

Ich versuche es jetzt noch sftp user@sftp.xxxxxx.comeinmal und werde immer noch nach einem Passwort gefragt, aber jetzt funktioniert das Passwort nicht mehr ...

Connecting to user@sftp.xxxxxx.com... user@sftp.xxxxxx.com's password:  Permission denied, please try again. user@sftp.xxxxxx.com's password:  Permission denied, please try again. user@sftp.xxxxxx.com's password:  Permission denied (publickey,password). Couldn't read packet: Connection reset by peer 

Ich habe jedoch gemerkt, dass ich mich einfach einloggen musste enter(kein Passwort)

Hier sind meine Fragen:

  1. Gibt es eine Möglichkeit zu überprüfen, welches privatekey / pulbickey-Paar meine Sftp-Verbindung verwendet?
  2. Kann man angeben, welches Schlüsselpaar verwendet werden soll?
  3. Wenn alles korrekt eingerichtet ist (mit korrektem Schlüsselpaar und zu autorisierten Dateien hinzugefügt), wird ich dann aufgefordert, ein leeres Kennwort einzugeben?

Danke im Vorraus für deine Hilfe!

AKTUALISIEREN

Ich bin gerade gerannt sftp -vvv user@sftp.xxxxxx.com

.... debug1: Authentications that can continue: publickey,password debug3: start over, passed a different list publickey,password debug3: preferred gssapi-with-mic,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 public key: /root/.ssh/id_rsa debug3: send_pubkey_test debug2: we sent a publickey packet, wait for reply debug1: Server accepts key: pkalg ssh-rsa blen 277 debug2: input_userauth_pk_ok: SHA1 fp 45:1b:e7:b6:33:41:1c:bb:0f:e3:c1:0f:1b:b0:d5:e4:28:a3:3f:0e debug3: sign_and_send_pubkey debug1: read PEM private key done: type RSA debug1: Authentications that can continue: publickey,password debug1: Trying private key: /root/.ssh/id_dsa debug3: no such identity: /root/.ssh/id_dsa debug2: we did not send a packet, disable method debug3: authmethod_lookup password debug3: remaining preferred: ,password debug3: authmethod_is_enabled password debug1: Next authentication method: password 

Es scheint, dass versucht wird, den öffentlichen Schlüssel zu verwenden ... Was fehlt mir?

3
Sind die Schlüssel in `/ root / .ssh` oder in Ihrem eigenen Homedir installiert? Fred Foo vor 12 Jahren 0
/root/.ssh (Hinweis derzeit als root angemeldet) Lizard vor 12 Jahren 0
Es sieht für mich wie der Kerl aus, der diesen Server als seine PAM-Konfiguration zerstört hat. Es ist fast unmöglich zu sagen, warum, ohne es sehen zu können. bahamat vor 12 Jahren 0
Die Zeile "debug3: no solche Identität: / root / .ssh / id_dsa" in der obigen Ausgabe scheint der Punkt zu sein, an dem die Publickey-Authentifizierung fehlschlägt. Ist diese Datei auf Ihrem Computer vorhanden? Wenn es existiert, ist es für andere Personen als Sie lesbar (es sollte nicht sein: es sollte die Berechtigungen 400 oder 600 haben). Dies gilt auch für das darin enthaltene Verzeichnis (das über die Berechtigungen 700 verfügen sollte). Fran vor 11 Jahren 0

2 Antworten auf die Frage

1
Dirk Gorissen

Das Ausführen im ausführlichen Modus sollte Ihnen helfen:

sftp -vvv user@sftp.xxxxxx.com 

Welches zeigt Ihnen, welche Schlüssel es verwendet und hoffentlich, warum es nach einem Kennwort fragt.

Update: Sie können ssh mitteilen, welchen privaten Schlüssel es verwenden soll: http://www.cyberciti.biz/faq/force-ssh-client-to-use-given-private-key-identity-file/, aber ich bin mir nicht sicher, wie Sie dies tun würden tun Sie dieselbe Server-Seite

0
Ioan

Der erste Link, der sich mit der Vorgehensweise befasst hat: http://ask-leo.com/how_can_i_automate_an_sftp_transfer_between_two_servers.html

Anscheinend beschreiben Sie dieselben Schritte, die Sie unternommen haben, jedoch ohne die daraus resultierenden Probleme. Haben Sie sichergestellt, dass Ihre privaten Schlüssel kein Kennwort verwenden? Die Site impliziert, dass die Schlüssel automatisch von SFTP abgeglichen werden. Ich vermute, es verwendet die wichtigsten Fingerabdrücke.

Schauen Sie sich auch die Manpage für SFTP an und geben Sie die gewünschten Optionen an, um die schlüsselbasierte Authentifizierung der Kennwortauthentifizierung vorzuziehen.

Update:
Vielleicht ist die Serverseite nicht richtig konfiguriert? Beispielsweise hat die Datei authorized_keys einen falschen Eintrag, der den Benutzer @ Host angibt.