Как использовать команду 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 для использования альтернативного файла конфигурации