Думаю, я напутал с конфигурацией SSH.
В последнее время я больше не могу клонировать локальный репозиторий. Похоже, что репозиторий git принимает и открытый ключ, и пароль, но вместо того, чтобы позволить мне выбрать один из двух вариантов, он пытается подключиться, используя какой-то неправильный RSA-ключ, что приводит к сообщению:
Received disconnect from myRemoteComputer : Too many authentication failures for myUsername
fatal: Could not read from remote repository.
То же самое происходит, когда я подключаюсь к этому компьютеру по ssh.
$ssh -v myRemoteComputerIP
debug1: Authentications that can continue: publickey,password
debug1: Next authentication method: publickey
debug1: Offering RSA public key: /home/myUsername/.ssh/id_rsa
debug1: Authentications that can continue: publickey,password
debug1: Offering RSA public key: myUsername@cvg04
Received disconnect from myRemoteComputerIP: Too many authentication failures for myUsername
Значит, что-то не так, так как в последнее время обе команды работали. Мне бы в основном нужно было сказать ssh
и git
использовать имя пользователя и пароль вместо случайного выбора неправильного "RSA-ключа". Кто-нибудь знает, как это исправить?
Недавно я выполнил одну ssh-add
команду, следуя советам с форума, но, возможно, это часть проблемы...
решение1
Проверьте свой ~/.ssh/config
. Если вы хотите использовать аутентификацию по паролю, вы можете настроить ее прямо здесь, вот так:
Host myRemoteComputerIP
PubkeyAuthentication no
Он никогда не будет пытаться выполнить аутентификацию с открытым ключом на этом хосте.
А что делать, если мне приходится подключаться с двумя разными именами пользователей, используя ключ RSA и аутентификацию по имени пользователя и паролю для другого?
Вы можете использовать псевдонимы в ssh_config
:
Host alias1
Hostname myRemoteComputerIP
PubkeyAuthentication no
User user1
Host alias2
Hostname myRemoteComputerIP
# PubkeyAuthentication yes # is default
User user2
а затем подключитесь с помощью ssh alias1
и ssh alias2
.
решение2
Клонируйте с помощью https, и он всегда будет спрашивать пароль. Пример:
git clone https://github.com/my_company/myrepo.git