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

Ошибка установки Gerrit при проверке ssh

я использовал официальное руководство для установки Gerrit на сервер Debian. Теперь я застрял в абзаце, где я должен проверить, что соединение ssh работает:

ssh bastian@ip.of.the.server -p 29418       <-- home pc to server

Вот моя ситуация: на моем домашнем ПК у меня есть учетная запись пользователя bastian и я создал пару ключей для ssh. На сервере есть учетная запись root: root, счет для gerrit: 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).

В твоем .ssh/config файл, что это за IdentityFile строка со ссылкой на? Если он указывает на файл .pub, у вас возникнут проблемы .. Кроме того, когда вам предлагается ввести пароль в журнале, у вас действительно есть возможность ввести пароль? Возможно, вам понадобится использовать что-то вроде ssh-agent.

РЕДАКТИРОВАТЬ : После долгой двойной проверки и чтения журналов и документации по программе мы обнаружили, что проблема заключалась в том, что имя пользователя не было введено во время процесс начальной настройки, что может случиться, к сожалению, программа не сообщила об этом пользователю, я рекомендовал ему открыть ошибку с командой Gerrit. Кстати, он правильно создал все в системе для пользователей, но Геррит запускает собственный экземпляр Open-SSH, и имена пользователей содержатся в базе данных Gerrit, а не в самой системе.

Положить ваши id_rsa.pub в ~/.ssh/authorized_keys (/home/bastian/.ssh/authorized_keys).

Запомни:

  • делать ~/.ssh каталог, принадлежащий bastian и chmod его на 700
  • делать ~/.ssh/authorized_keys файл принадлежит bastian и 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.