it-swarm.com.de

Verwendung des Befehls openssh sftp mit einem in der Befehlszeile angegebenen RSA / DSA-Schlüssel

Der Befehl Openssh ssh und scp ergab ein -i Befehlszeilenoption, um den Pfad zum RSA/DSA-Schlüssel anzugeben, der für die Authentifizierung verwendet werden soll.

Auf den SFTP-Manpages konnte ich keine Möglichkeit finden, den RSA/DSA-Schlüssel anzugeben.

Ich suche nach einer Möglichkeit, eine SFTP-Sitzung zu initiieren, die einen angegebenen RSA/DSA-Schlüssel verwendet und nicht die Schlüssel ~/.ssh/id_ {dsa, rsa}.

Ich habe OpenSSH sftp client unter Linux ausprobiert ... aber es sollte auf anderen Plattformen die gleichen Optionen haben.

39
Adi Roiban

Eine mögliche Option ist die Verwendung von sftp -oIdentityFile=/path/to/private/keyfile. Benötigen Sie weitere Informationen, um zu sagen, ob dies für Sie funktioniert. Scheint unter Mac/Linux zu funktionieren.

43
dmourati

Sie können einfach das -i Argument für Ihren Befehl sftp oder ssh.

sftp -i /path/to/private/keyfile ...

Wenn die Option -i nicht verfügbar ist, können Sie die Option -o mit einer Syntax wie der folgenden verwenden:

sftp -oIdentityFile=/path/to/private/keyfile ...
15
slubman

Sie können eine alternative Konfigurationsdatei für die Verbindung erstellen und den Schalter -F Verwenden, um ssh anzuweisen, sie zu verwenden. Erstellen Sie eine Konfigurationsdatei, z. ~/.ssh/config.sftp mit dem Inhalt

Host remote.Host.tld
User RemoteUserName
IdentityFile /path/to/atlernate/identityfile

dann rufe sftp so auf

sftp -F ~/.ssh/config.sftp remote.Host.tld
Connecting to remote.Host.tld...
Enter passphrase for key '/path/to/atlernate/identityfile':
sftp>

Die obige Konfiguration beschränkt die Verwendung des alternativen Schlüssels (wenn diese Konfigurationsdatei verwendet wird) auf den Benutzer RemoteUserName auf remote.Host.tld.

In der Manpage nach ssh_confg finden Sie Informationen zur Verwendung der alternativen Konfigurationsdatei

8
user9517