Команда Openssh ssh и scp доказала -i
параметр командной строки, чтобы указать путь к ключу RSA / DSA, который будет использоваться для аутентификации.
Глядя на страницы руководства sftp, я не смог найти способ указать ключ RSA / DSA.
Я ищу способ инициировать сеанс sftp, который будет использовать указанный ключ RSA / DSA, а не ключи ~ / .ssh / id_ {dsa, rsa}.
Я попробовал клиент OpenSSH sftp на Linux ... но он должен иметь те же параметры на других платформах.
Один из возможных вариантов - использовать 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.
Взгляните на страницу руководства для ssh_confg для использования альтернативного файла конфигурации