Учетные данные Sftp хранятся на моем компьютере -, но где?

Мне удалось решить эту проблему, передав путь к файлу терминального устройства через http. Вы можете получить этот путь с помощью:tty

$ curl http://my.app/cli?argv=do&argv=something&tty=$(tty)

Тогда нужно просто открыть переданный tty-файл на сервере и прочитать/записать в него вместо STDIN/STDOUT.

-1
02.10.2021, 20:44
1 ответ

В комментариях я попросил вас запустить ssh-add -lи ls $HOME/.ssh/id_*, и оказалось, что у вас настроены SSH-ключи. Вы сказали, что у вас есть несколько ключей для разных проектов и доступов :, это может быть важной деталью.

Вероятно, сохраненные учетные данные SFTP на самом деле являются одним из ключей SSH, а не паролем.

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

(Да, каждое предложение ключа считается одной попыткой аутентификации!)

В комментариях вы сказали, что уже решили эту проблему, переименовав каталог .ssh. В качестве более удобной для пользователя -альтернативы вы можете записать такой фрагмент в свой ~/.ssh/configфайл:

Host problem.server.hostname
    IdentitiesOnly yes
    # uncomment the line below to offer only a specified key and no other
    # IdentityFile ~/.ssh/id_key_file_name_here
    # uncomment the line below to only use password authentication with this host
    # PubkeyAuthentication no 

Это ограничит ключи и/или методы аутентификации, используемые с конкретным хостом, избегая проблемы «слишком много ключей».

2
02.10.2021, 23:26

Теги

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