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

Почему мне все еще предлагается ввести пароль с помощью sftp?

  1. У удаленной системы есть открытый ключ.

  2. Мой .ssh/config файл читается следующим образом:

 Host     fubar
 Hostname fubar.ip.address.here
 User     fubar_userid   
 Port     22
  1. запись known_hosts: (тот же IP-адрес, что и в # 2)

    fubar.ip.address.here ssh-rsa BLAH_BLAH_key .....

Результаты команды:

$>sftp fubar
Connecting to fubar ....
fubar@fubar.ip.address.here's password:

Вопросы:
Почему мне все еще предлагается ввести пароль? Что мне нужно изменить, чтобы подключиться с помощью ключей и не получать пароль?

Мне непонятно, пытаетесь ли вы настроить ключи SSH. Посмотри Вот чтобы узнать, как это сделать.

Обратите особое внимание на часть, где вы вводите кодовую фразу. Если вы не оставите его пустым, вам все равно нужно будет ввести эту парольную фразу, когда вы захотите подключиться. Вы можете спросить себя: «Окей, зачем тратить столько времени, если мне все еще нужно ввести кодовую фразу?» Ответ заключается в том, что эта кодовая фраза предназначена для расшифровки вашего местный ключ, когда вы хотите его использовать. Фраза-пароль никогда не передается на сервер даже в хешированной форме. Вы бы хотели использовать парольную фразу, если она находится на машине, где кто-то другой имеет root-доступ (например, размещенный сервер), потому что, если кто-то другой получит ваш ключ, он не сможет использовать его, не расшифровав его. Однако, если это находится на вашем собственном локальном компьютере, к которому есть доступ только у вас, вы можете считать безопасным оставить кодовую фразу пустой. Таким образом, вы можете использовать SSH или SFTP без запроса.

Попробуй добавить IdentityFile и PasswordAuthentication в ~/.ssh/config

Host     fubar
Hostname fubar.ip.address.here
User     fubar_userid   
Port     22
IdentityFile fubar.private.key
PasswordAuthentication no

В моем случае ключ, который мне дали, был файлом PPK (PuTTY Private Key). SSH - и расширение SFTP - по сути не поддерживает формат файла PPK.

Пришлось преобразовать файл в формат PEM:

puttygen keyfile.ppk -O private-openssh -o keyfile.key

Мой ~/.ssh/config:

Hostname        sftp.example.com
User            MyUserName
Port            22
IdentityFile    /path/to/keyfile.key

Всегда используйте ssh -vvv ... или sftp -vvv ... для устранения любых проблем.