FTP von Linux zu Windows Server

0

Ich schreibe ein Skript für sftpWindows (Server) von einem Linux-Computer. Ich wollte, dass das Skript ohne manuelle Eingaben wie Passworteingabe usw. ausgeführt wird.

#!/bin/sh
HOST='10.x.x.x'
USER='user'
PASSWD='passwd'

sftp $USER@$HOST

Ich verwende freeftpd als SFTP-Server auf dem Windows-Computer. Ab sofort verwende ich Ubuntu, aber meine eigentliche Anforderung ist eine abgespeckte Linux-Version für einen ARM-basierten Rechner.

Auf dem Linux-Rechner generiere ich öffentliche und private Schlüssel mit ssh-keygen -t rsa. Zwei Dateien (öffentlich und privat) werden unter dem /home/user/.sshVerzeichnis erzeugt, dh id_rsaund id_rsa.pub.

Wenn es sich um einen anderen Linux-Computer handelt, muss ich den öffentlichen Schlüssel ( id_rsa.pub) an die authorized_keysDatei anhängen .

Ich bin mir jetzt nicht sicher, da mein SFTP-Server unter Windows läuft. Nach der Installation von freeFTPd habe ich eingecheckt C:\Program Files\freeFTPd\, sehe aber keine Dateien, die denen .ssh/authorized_keysvon Linux ähneln .

FreeFTPd bietet die Möglichkeit, einen privaten Schlüssel zu generieren. Also habe ich eins generiert und gleich in die Linux machine ( .ssh/id_rsa) Datei kopiert und ausprobiert. Es wird jedoch weiterhin zur Eingabe eines Kennworts aufgefordert.

Wie kann ich das lösen?

m4n07
quelle
Ihre Frage bezieht sich auf FreeFTPd, ein Windows-Programm. Das Problem ist nicht, dass Linux mit Windows interagiert, sondern dass Windows ein nicht-Unix-spezifisches Netzwerkprotokoll unterstützt. Also ist es hier nicht zum Thema. Ich habe es für die Migration zu Super User markiert (nicht erneut veröffentlichen).
Gilles

Antworten:

1

Ich kenne Windows nicht, aber Sie scheinen sich darin zu irren:

  • SFTP bedeutet nicht die gesicherte Implementierung eines einfachen FTP-Protokolls, sondern des SSH-Dateiübertragungsprotokolls, sodass der Server das FTP- Protokoll nicht beantworten muss , sondern SSH ! (Aus Wikipedia :)

    SSH-Dateiübertragungsprotokoll

    Aus Wikipedia, der freien Enzyklopädie
    Wechseln zu: Navigation, Suche
    Nicht zu verwechseln mit Simple File Transfer Protocol .
    Bei der Datenverarbeitung ist das SSH-Dateiübertragungsprotokoll (auch Secure File Transfer Protocol , Secure FTP oder SFTP ) ein Netzwerkprotokoll, das über jeden zuverlässigen Datenstrom Dateizugriffs-, Dateiübertragungs- und Dateiverwaltungsfunktionen bietet. Es wurde von der Internet Engineering Task Force (IETF) als Erweiterung des Secure Shell-Protokolls (SSH) der Version 2.0 entwickelt, um eine sichere Dateiübertragung zu ermöglichen ...

Sie müssen also einen SSH-Server auf Ihren Fenstern installieren .

Schauen Sie sich an:

F. Hauri
quelle
Tatsächlich ist "sicheres FTP" eine Standardmethode zum Referenzieren des SFTP-Protokolls. SFTP ist nicht FTP, aber SFTP ist auch nicht SSH (es ist eine IETF-Erweiterung).
Chris Down
@ChrisDown Bitte Referenzen anzeigen! Oder werfen Sie einen Blick auf google.com/search?q=sftp oder en.wikipedia.org/wiki/SSH_File_Transfer_Protocol
F. Hauri
FTP, SFTP (Dateiübertragung über SSH) und FTPS (Secure FTP) unterscheiden sich voneinander. Mit anderen Worten, die Antwort hier ist richtig, wenn das OP über SFTP spricht und nicht mit Secure FTP (FTPS) verwechselt wird.
EightBitTony
1
@EightBitTony Frage steht für SFTP , rede über .ssh/und id_rsa.pub. Dies betrifft SSH FTP .
F. Hauri
FreFTPd wirbt für sich selbst als SFTP-Server , sodass unter Windows keine weitere Installation erforderlich sein sollte.
Gilles