Der Konsolenbefehl hierfür lautet:
Code: Alles auswählen
sshfs user@host:/home/user/ /verzeichnis/
Man kann die Passworteingabe auch in einem Rutsch mit eine Befehl eingeben. Dieser lautet:
Code: Alles auswählen
sshfs -o password_stdin user@host:/home/host/ /verzeichnis <<< password
Pack ich aber die Befehle in TProcess, so funktioniert es nicht.
Code: Alles auswählen
Process1:=TProcess.Create(Self);
Process1.Executable:='sshfs';
Process1.Parameters.Add('-o');
Process1.Parameters.Add('password_stdin');
Process1.Parameters.Add('user@host:/home/user/');
Process1.Parameters.Add('/verzeichnis/');
Process1.Parameters.Add('<<<');
Process1.Parameters.Add('password');
Process1.Options:=Process1.Options+[poWaitOnExit,poUsePipes];
Process1.Execute;
Process1.Free;
Das Aushängen des über die Konsole eingehängten Verzeichnisses mit dem Befehl
Code: Alles auswählen
fusermount -u /verzeichnis
Code: Alles auswählen
Process1:=TProcess.Create(Self);
Process1.Executable:='fusermount';
Process1.Parameters.Add('-u');
Process1.Parameters.Add('/verzeichnis/');
Process1.Execute;
Process1.Free;
Ich weiß, dass man das Passwort mit ssh keygen umgehen kann. Ich möchte aber verstehen, warum der Befehl nicht durch TProcess ausgeführt wird.
Hier ein Testprojekt:
Aber vorher sshfs installieren!!!