20

Я не могу scp, другой сервер принимает только соединения sftp.

В настоящее время я пытаюсь сделать

sftp jay@server.name.com:/files> put -r ~/

-i keyname не работает, просто разрешается с неправильной illegal option -- i .

4 ответа4

26

Пытаться:

sftp -o "IdentityFile=keyname" jay@server.name.com

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

2

Скопируйте ваш ключ PUBLIC на сервер, используя традиционные средства.

На сервере:

  • Создайте .ssh если он не существует:
[[ ! -d "${HOME}/.ssh" ]] && mkdir -p "${HOME}/.ssh"
  • Реализуйте открытый ключ:
cat /path/to/public_key.pub >> "${HOME}/.ssh/authorized_keys"
  • Установите соответствующие разрешения. OpenSSH является ОЧЕНЬ АНАЛЬНЫМ относительно разрешений файлов, о которых идет речь:
chmod go-rwx "${HOME}" "${HOME}/.ssh/authorized_keys"

После этого вы сможете войти с клиента, используя ключ PRIVATE. Чтобы автоматизировать передачу, вы хотите использовать пакетный файл, который представляет собой просто текстовый файл, содержащий список команд для выполнения.

echo "put filename.foo /safe/path/filename.foo" >> /tmp/batchfile.txt
sftp -b /tmp/batchfile.txt -oIdentityFile=/path/to/private_key user@host

Кроме того, не стесняйтесь создать файл ~/.ssh/config в формате ssh_config, чтобы вы могли просто напечатать его в будущем:

sftp -b /tmp/batchfile.txt host

Пример содержимого ~/.ssh/config

Host the_hostname
    User user_name
    IdentityFile /path/to/private_key
1

Если вы хотите настроить sftp на ec2, эта статья может помочь

0

Недавно я попал в эту проблему, и то, что мне помогло в настройке терминала по умолчанию на моем MacBook, таково:

sftp -i ./privateFilePath.key username@url.com

Обратите внимание, что вы можете получить повышение с помощью незащищенного частного ключа! сообщение, в этом случае вам нужно выполнить эту команду, чтобы убедиться, что ваш закрытый ключ не доступен другим.

chmod 600 privateFilePath.key 

В некоторых случаях вам нужно поставить sudo перед командой, это только если вы работаете в каталоге, защищенном от администратора

Я желаю, чтобы это было полезно :)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .