Назад | Перейти на главную страницу

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

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