У удаленной системы есть открытый ключ.
Мой .ssh/config
файл читается следующим образом:
Host fubar Hostname fubar.ip.address.here User fubar_userid Port 22
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 ...
для устранения любых проблем.