Установка Gerrit завершается неудачно при проверке SSH
Я использовал официальное руководство для установки Gerrit на сервер Debian. Теперь я застрял в параграфе, где я должен проверить, работает ли соединение ssh:
ssh bastian@ip.of.the.server -p 29418 <-- home pc to server
Это моя ситуация: на моем домашнем компьютере у меня есть учетная запись bastian
и я сгенерировал пару ключей для SSH. На сервере есть учетная запись root: root
, счет для геррит: gerrit2
и, опять же, аккаунт bastian
, Я добавил открытый ключ в веб-интерфейс gerrit после входа в систему с помощью OpenID. По совету я также добавил открытый ключ к /root/.ssh/authorized_keys
а также /home/bastian/.ssh/authorized_keys
(на сервере). Затем я создал файл /home/gerrit2/.ssh/config/
(на сервере) с содержанием:
IdentityFile ~/.ssh/id_rsa
Подробная проверка соединения ssh приводит к:
OpenSSH_6.0p1 Debian-3ubuntu1, OpenSSL 1.0.1c 10 May 2012
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug1: Connecting to 130.83.160.104 [130.83.160.104] port 29418.
debug1: Connection established.
debug1: identity file /home/bastian/.ssh/id_rsa type 1
debug1: Checking blacklist file /usr/share/ssh/blacklist.RSA-2048
debug1: Checking blacklist file /etc/ssh/blacklist.RSA-2048
debug1: identity file /home/bastian/.ssh/id_rsa-cert type -1
debug1: identity file /home/bastian/.ssh/id_dsa type -1
debug1: identity file /home/bastian/.ssh/id_dsa-cert type -1
debug1: identity file /home/bastian/.ssh/id_ecdsa type -1
debug1: identity file /home/bastian/.ssh/id_ecdsa-cert type -1
debug1: Remote protocol version 2.0, remote software version GerritCodeReview_2.5.4 (SSHD-CORE-0.5.1-R1095809)
debug1: no match: GerritCodeReview_2.5.4 (SSHD-CORE-0.5.1-R1095809)
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_6.0p1 Debian-3ubuntu1
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: server->client aes128-cbc hmac-md5 none
debug1: kex: client->server aes128-cbc hmac-md5 none
debug1: sending SSH2_MSG_KEXDH_INIT
debug1: expecting SSH2_MSG_KEXDH_REPLY
debug1: Server host key: RSA e9:fc:38:b3:86:f6:72:47:de:79:59:ba:c6:c6:de:7e
debug1: Host '[130.83.160.104]:29418' is known and matches the RSA host key.
debug1: Found key in /home/bastian/.ssh/known_hosts:1
debug1: ssh_rsa_verify: signature correct
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: Roaming not allowed by server
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey
debug1: Next authentication method: publickey
debug1: Offering RSA public key: /home/bastian/.ssh/id_rsa
debug1: Authentications that can continue: publickey
debug1: Trying private key: /home/bastian/.ssh/id_dsa
debug1: Trying private key: /home/bastian/.ssh/id_ecdsa
debug1: No more authentication methods to try.
Permission denied (publickey).
3 ответа
В вашей .ssh/config
файл, что такое IdentityFile
линия, ссылающаяся на? Если он указывает на файл.pub, у вас возникнут проблемы. Кроме того, когда вам предлагается ввести пароль в журнале, есть ли у вас возможность ввести пароль? Вам может понадобиться что-то вроде ssh-agent
,
РЕДАКТИРОВАТЬ: После долгих двойных проверок и чтения журналов и программной документации, мы обнаружили, что проблема заключалась в том, что имя пользователя не было введено во время начального процесса установки, что может случиться, к сожалению, программа не сообщила об этом пользователю Я порекомендовал ему открыть баг с командой Gerrit. Кстати, он создал все правильно в системе для пользователей, но Gerrit запускает собственный экземпляр Open-SSH, а имена пользователей содержатся в базе данных Gerrit, а не в самой системе.
Положить ваши id_rsa.pub
в ~/.ssh/authorized_keys
(/home/bastian/.ssh/authorized_keys
).
Запомни:
- сделать
~/.ssh
каталог принадлежит Бастиану и chmod его 700 - сделать
~/.ssh/authorized_keys
файл принадлежит Бастиану и chmod до 600
Вы можете убедиться, что выше правильно с:
cat id_rsa.pub > /home/bastian/.ssh/authorized_keys
chown -R bastian /home/bastian/.ssh
chmod -R go-rwx /home/bastian/.ssh
Затем используйте эту команду для подключения:
ssh -i id_rsa bastian@localhost -p 29418
Вы должны переместить ваш id_rsa и ваш id_rsa.pub в каталог.ssh. Это место по умолчанию, где ssh-клиент будет искать закрытый ключ. И в вашем случае я вижу его в / root каталоге и должен быть в /root/.ssh/ Если вы хотите изменить это местоположение по умолчанию, вам нужно изменить либо файл.ssh / config для локальных изменений настроек вашего клиента ssh, либо в /etc/ssh/ssh_config.