Как использовать команду openssh sftp с ключом RSA/DSA, указанным в командной строке

Команда Openssh ssh и scp предоставила -i опция командной строки для указания пути к ключу RSA/DSA, который будет использоваться для аутентификации.

Просматривая справочные страницы sftp, я не смог найти способ указать ключ RSA/DSA.

Я ищу способ инициировать сеанс sftp, который будет использовать указанный ключ RSA/DSA, а не ключи ~/.ssh/id_{dsa,rsa}.

Я пробовал OpenSSH sftp клиент на Linux... но он должен иметь те же опции на других платформах.

3 ответа

Решение

Одним из возможных вариантов является использование sftp -oIdentityFile=/path/to/private/keyfile, Нужно больше информации, чтобы сказать, будет ли это работать для вас. Кажется, работает под Mac/Linux.

Вы можете просто использовать -i аргумент для вашей команды sftp или ssh.

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

Если опция -i недоступна, вы можете использовать опцию -o со следующим синтаксисом:

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

Вы можете создать альтернативный файл конфигурации для подключения и использовать -F переключиться, чтобы сказать SSH использовать его. создайте файл конфигурации, например, ~/.ssh/config.sftp с содержимым

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

тогда вызывайте sftp как

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

Приведенная выше конфигурация ограничивает использование альтернативного ключа (при использовании этого файла конфигурации) для пользователя RemoteUserName на remote.host.tld.

Загляните на страницу man для ssh_confg для использования альтернативного файла конфигурации

Другие вопросы по тегам