sftp и открытые ключи

24071
Lizard

Я пытаюсь подключиться к серверу, размещенному кем-то другим.

Чтобы убедиться, что это работает, я выполнил стандарт, sftp user@sftp.xxxxxx.comмне предложили ввести пароль, и он работал нормально.

Я настраиваю скрипт cron для отправки файла раз в неделю, поэтому предоставил им наш открытый ключ, который, как они утверждают, добавил в свой файл author_keys.

Я сейчас пытаюсь sftp user@sftp.xxxxxx.comснова, и мне все еще предлагают пароль, но теперь пароль не работает ...

Connecting to user@sftp.xxxxxx.com... user@sftp.xxxxxx.com's password:  Permission denied, please try again. user@sftp.xxxxxx.com's password:  Permission denied, please try again. user@sftp.xxxxxx.com's password:  Permission denied (publickey,password). Couldn't read packet: Connection reset by peer 

Я заметил, однако, что если я просто нажал enter(без пароля), он вошел в меня в порядке ...

Итак, вот мои вопросы:

  1. Есть ли способ проверить, какую пару privatekey / pulbickey использует мое соединение sftp?
  2. Можно ли указать, какую пару ключей использовать?
  3. Если все настроено правильно (используется правильная пара ключей и добавлены в авторизованные файлы), почему меня просят ввести пустой пароль?

Заранее спасибо за помощь!

ОБНОВИТЬ

Я только что побежал sftp -vvv user@sftp.xxxxxx.com

.... debug1: Authentications that can continue: publickey,password debug3: start over, passed a different list publickey,password debug3: preferred gssapi-with-mic,publickey,keyboard-interactive,password debug3: authmethod_lookup publickey debug3: remaining preferred: keyboard-interactive,password debug3: authmethod_is_enabled publickey debug1: Next authentication method: publickey debug1: Offering public key: /root/.ssh/id_rsa debug3: send_pubkey_test debug2: we sent a publickey packet, wait for reply debug1: Server accepts key: pkalg ssh-rsa blen 277 debug2: input_userauth_pk_ok: SHA1 fp 45:1b:e7:b6:33:41:1c:bb:0f:e3:c1:0f:1b:b0:d5:e4:28:a3:3f:0e debug3: sign_and_send_pubkey debug1: read PEM private key done: type RSA debug1: Authentications that can continue: publickey,password debug1: Trying private key: /root/.ssh/id_dsa debug3: no such identity: /root/.ssh/id_dsa debug2: we did not send a packet, disable method debug3: authmethod_lookup password debug3: remaining preferred: ,password debug3: authmethod_is_enabled password debug1: Next authentication method: password 

Похоже, что он пытается использовать открытый ключ ... Что мне не хватает?

3
Ключи установлены в `/ root / .ssh` или в вашем собственном homedir? Fred Foo 12 лет назад 0
/root/.ssh (обратите внимание, что вы вошли в систему как root) Lizard 12 лет назад 0
Для меня это похоже на парня, который управляет этим сервером, так как сломал свою конфигурацию PAM. Почти невозможно сказать почему, не имея возможности увидеть это. bahamat 12 лет назад 0
Строка `debug3: нет такой идентичности: / root / .ssh / id_dsa` в вышеприведенном выводе, кажется, является точкой, где аутентификация с помощью публичного ключа завершается неудачно. Этот файл существует на вашем компьютере? Если он существует, может ли он быть прочитан кем-либо, кроме вас (не должно быть: у него должны быть разрешения 400 или 600). Это относится и к каталогу, в котором он находится (который должен иметь разрешения 700). Fran 11 лет назад 0

2 ответа на вопрос

1
Dirk Gorissen

Запуск в подробном режиме должен помочь вам:

sftp -vvv user@sftp.xxxxxx.com 

Который покажет вам, какие ключи он использует, и, надеюсь, почему он запрашивает пароль.

обновление: вы можете указать ssh, какой закрытый ключ использовать: http://www.cyberciti.biz/faq/force-ssh-client-to-use-given-private-key-identity-file/, но я не уверен, как бы вы это сделали сделать ту же сторону сервера

0
Ioan

Первая ссылка, которая пришла о том, как сделать то, что вы сделали: http://ask-leo.com/how_can_i_automate_an_sftp_transfer_between_two_servers.html

Кажется, описать те же шаги, которые вы предприняли, но без проблем. Вы убедились, что ваши личные ключи не используют пароль? Сайт подразумевает, что ключи автоматически сопоставляются SFTP; Я предполагаю, что он использует отпечатки клавиш.

Кроме того, взгляните на справочную страницу для SFTP и попробуйте указать нужные параметры, чтобы предпочитать аутентификацию на основе ключей, а не аутентификацию по паролю.

Обновление:
Возможно, серверная сторона не настроена должным образом? Например, в файле author_keys указана неправильная запись user @ host?

Похожие вопросы