Я успешно установил git на одном из наших серверов Red Hat Linux 5 WS, и я использую его в нашей интрасети, а не за пределами нашего брандмауэра.
В настоящее время мне предлагается ввести пароль при подключении, поэтому какие шаги мне нужно предпринять, чтобы убедиться, что на сервере есть правильные ключи, чтобы избежать запроса пароля? Я считаю, что это проблема наличия открытых ключей. Я просто не знаю, как это настроить.
ОК, это просто. A - клиент, B - целевая машина. Вы входите в систему A со своими учетными данными. Вы генерируете ключ ssh (если он у вас есть, пропустите этот шаг):
ssh-keygen -t dsa
По умолчанию все в порядке. Вы знаете, что у вас есть файл ~ / .ssh / id_dsa и ~ / .ssh / id_dsa.pub Войдите в систему на B и выполните команды:
mkdir ~/.ssh
chmod 700 ~/.ssh
Снова нажмите A и скопируйте ключевой файл:
scp ~/.ssh/id_dsa.pub <username_b>@B:~/.ssh/authorized_keys
где имя пользователя B. Перейдите на B и выполните команду:
chmod 600 ~/.ssh/authorized_keys
Теперь все должно быть в порядке.
Создайте пару ключей, а затем скопируйте открытый ключ на сервер:
Пример:
ssh-keygen -t dsa
ssh-copy-id -i ~/.ssh/id_dsa user@remotehost
Проверьте файл / etc / ssh / sshd_config, что параметр
PubkeyAuthentication yes установлено.
Кроме того, я забыл ответить, если вы попробуете с учетной записью root. В этом случае вам необходимо настроить опцию PermitRootLogin так как
PermitRootLogin без пароля