web-dev-qa-db-fra.com

Comment utiliser la commande openssh sftp avec une clé RSA / DSA spécifiée à partir de la ligne de commande

La commande Openssh ssh et scp a fourni un -i option de ligne de commande pour spécifier le chemin d'accès à la clé RSA/DSA à utiliser pour l'authentification.

En regardant les pages de manuel sftp, je n'ai pas pu trouver un moyen de spécifier la clé RSA/DSA.

Je cherche un moyen de lancer une session sftp qui utilisera une clé RSA/DSA spécifiée, et non les clés ~/.ssh/id_ {dsa, rsa}.

J'ai essayé le client OpenSSH sftp sous Linux ... mais il devrait avoir les mêmes options sur d'autres plates-formes.

39
Adi Roiban

Une option potentielle consiste à utiliser sftp -oIdentityFile=/path/to/private/keyfile. Besoin de plus d'informations pour dire si cela fonctionnera pour vous. Semble fonctionner sous Mac/Linux.

43
dmourati

Vous pouvez simplement utiliser le -i argument pour votre commande sftp ou ssh.

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

Si l'option -i n'est pas disponible, vous pouvez utiliser l'option -o avec une syntaxe comme:

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

Vous pouvez créer un autre fichier de configuration pour la connexion et utiliser le -F passer pour dire à ssh de l'utiliser. créer un fichier de configuration par ex. ~/.ssh/config.sftp avec le contenu

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

puis appelez sftp comme ça

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

La configuration ci-dessus limite l'utilisation de la clé alternative (lorsque ce fichier de configuration est utilisé) à l'utilisateur RemoteUserName sur remote.Host.tld.

Jetez un œil à la page de manuel pour ssh_confg pour l'utilisation du fichier de configuration alternatif

8
user9517