Mit dem Kommando open wird eine Verbindung zu einem fernen Rechner eröffnet. Es muss entweder der Name oder die Internet-Adresse dieses Rechners bekannt sein. Der Rechner muss entweder zum lokalen Netz gehören oder über einen Gateway-Rechner erreichbar sein. Namen und Adressen der mit open erreichbaren Rechner können vom Verwalter des lokalen Netzes erfragt werden.
Falls mithilfe des protect- oder private-Kommandos die TLS-Absicherung der Kontrollverbindung aktiviert wurde, resultiert dies in einem modifizierten Verhalten des open-Kommandos (siehe "open - Eröffnen der Verbindung zu einem fernen Rechner").
open |
<ipadr> | <remotehost> | localhost | loopback [<port>] |
<ipadr>
Internet-Adresse (IPv4- oder IPv6-Adresse) des fernen Rechners, zu dem die Verbindung aufgebaut werden soll:
Eine IPv4-Adresse muss in der üblichen „decimal-dotted“-Notation angegeben werden.
Eine IPv6-Adresse muss in der üblichen Sedezimaldarstellung mit Doppelpunkt (:) angegeben werden.
<remotehost>
Symbolischer Name des fernen Rechners, zu dem die Verbindung aufgebaut werden soll
localhost
Symbolischer Name, der für den eigenen Rechner reserviert ist (meist nur für Testzwecke sinnvoll). Für localhost ist eine eigene Internet-Adresse generiert, die nicht mit der Adresse des eigenen Rechners im lokalen Netz identisch ist. Diese Adresse ist nur dem lokalen Rechner bekannt; andere Rechner können sie nicht verwenden.
loopback
loopback steht für die Internet-Adresse, mit der der lokale Rechner tatsächlich im LAN erreichbar ist.
<port>
Portnummer des FTP-Servers. Der FTP-Server hat standardmäßig die Portnummer 21. Die Angabe einer Portnummer ist beispielsweise dann nötig, wenn auf einem Rechner mehrere FTP-Server betrieben werden.
Falls am fernen Rechner ein Mechanismus zur Zugangskontrolle implementiert ist (wie z.B. in BS2000- und in Unix-Systemen), ermittelt FTP die notwendigen Berechtigungsdaten (Benutzerkennung, Abrechnungsnummer, Passwort) im Dialog. Es werden nur die tatsächlich benötigten Informationen abgefragt (Unix-Systeme benötigen z.B. keine Abrechnungsnummer; daher entfällt die entsprechende Abfrage).
Werden die Berechtigungsdaten fehlerhaft eingegeben, bleibt im Dialogbetrieb die Verbindung zum fernen Rechner bestehen. Mit dem Kommando user besteht dann die Möglichkeit, die Berechtigungsdaten nachträglich einzugeben.
Im Batch-Betrieb bzw. im Dialogbetrieb, wenn der Auftragsschalter 1 gesetzt ist, müssen die notwendigen Berechtigungsinformationen in eigenen Zeilen (in der richtigen Reihenfolge) dem Kommando open folgen. Sind die Berechtigungsdaten fehlerhaft, wird die Verbindung wieder geschlossen. FTP wird mit TERMJ beendet; d.h. der Batch-Job bzw. die Prozedur wird erst nach der nächsten STEP-Anweisung fortgesetzt. Siehe hierzu auch die Client-Kommandos jobvar auf "jobvar - Fehlerinformationen in einer Jobvariablen hinterlegen" bzw. svar auf "svar - Fehlerinformationen in einer SDF-P-Variablen hinterlegen".
Die Berechtigungsdaten müssen den Konventionen des Partnerrechners entsprechend angegeben werden. Beachten Sie in diesem Zusammenhang bitte die Tabelle auf "FTP-Client im BS2000".
Ist kein Kennwort nötig, wird ’*NONE’ (Großbuchstaben) angegeben.
Beispiel
Der ferne Rechner ist ein Linux-Rechner.
Aufruf des FTP-Clients.
/START-FTP % BLS0523 ELEMENT 'FTP' [...] Some options read from global option file, option file name: $.SYSDAT.TCP-IP-AP.nnn.F-GOPT ftp>
Herstellung der Verbindung zum Rechner anlaged.
open anlaged Connected to anlaged, port21. 220 anlaged (vsFTPd 2.0.5)
Eingabeaufforderung für eine Kennung (Name).
Name (anlaged:TCPTEST): KENNUNG 331 Password required for KENNUNG.
Eingabeaufforderung für ein Passwort.
Password (anlaged:KENNUNG): PASSWORT 230 Login successful.
Verhalten des open -Kommandos bei bestehender TLS-Absicherung der Kontrollverbindung
Bei einer via protect- oder private-Kommando bzw. durch die entsprechenden Optionen aktivierten TLS/SSL-Absicherung der Kontrollverbindung verhält sich das open-Kommando wie folgt:
Falls das TLS-Subsystem bisher nicht initialisiert ist, wird zunächst die Meldung
[Initialising TLS]
ausgegeben und Sie müssen – falls das BS2000-Subsystem PRNGD nicht aktiv ist – selbst für die Initialisierung des Pseudozufallszahlen-Generators sorgen (siehe Abschnitt „protect - TLS-Absicherung der Kontrollverbindung ein- /ausschalten“).Falls in der Option-Datei ein privater Schlüssel (für Client-Zertifizierung) spezifiziert wurde, wird nach dem Verbindungsaufbau zum Server zunächst die Passphrase für den privaten Schlüssel abgefragt, falls dieser verschlüsselt abgespeichert wurde. Es wird aus Sicherheitsgründen dringend empfohlen, den privaten Schlüssel verschlüsselt abzuspeichern.
Der private Schlüssel wird nur beim ersten mit TLS abgesicherten open-Kommando geladen, sodass bei nachfolgenden open-Kommandos innerhalb derselben FTP-Sitzung keine erneute Eingabe der Passphrase erforderlich ist.
Es wird die Meldung
[Starting SSL/TLS negotiation ...]
ausgegeben. Treten bei dieser TLS-Verhandlung keine Fehler auf, dann werden die Daten des FTP-Server-Zertifikats angezeigt:Bezeichnung des Zertifikat-Inhabers
Bezeichnung des Zertifikat-Ausstellers
Gültigkeitsdauer
Wenn der im open-Kommando spezifizierte Hostname des FTP-Servers nicht identisch mit dem im Zertifikat eingetragenen Namen ist, dann wird ein entsprechender Warnhinweis ausgegeben und Sie werden gefragt, ob Sie fortfahren möchten. Für das Fortfahren sollten Sie sich nur dann entscheiden, wenn Sie sich sicher sind, dass der durch das Zertifikat gekennzeichnete Server auch tatsächlich der gewünschte Server ist. Andernfalls können Sie Opfer eines sogenannten „Man-in-the-Middle“-Angriffs werden: Beim „Man-in-the-Middle“-Angriff stellt sich der Angreifer zwischen Server und Client und gibt sich dem Client gegenüber als der gewünschte Server aus.
Wenn Hostname und Zertifikatseigentümer übereinstimmen oder wenn Sie eingewilligt haben, trotz Namensdifferenzen fortzufahren, wird die gewohnte Aufforderung angezeigt, den Benutzernamen für den FTP-Server einzugeben: Das weitere Vorgehen entspricht dann dem Vorgehen beim nicht durch TLS gesicherten open-Kommando.