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

Настройка ssh не запрашивать пароль

Я успешно установил 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 без пароля