Попытка настроить ключи SSH, но инструкции не ясны

322
DiesLaughing

Каждое учебное пособие или объяснение SSH, которое я нахожу, прямо посередине забывает, что задействованы два компьютера или сервера.

Я пытаюсь создать сайт, размещенный на удаленном сервере. Я сгенерировал ключи, чтобы получить доступ к сайту. Теперь мне нужно зайти на сайт с моего компьютера.

Поэтому у меня есть эти ключи, и я не могу понять, что с ними делать, чтобы они работали. В каждом руководстве или объяснении говорится, что мне нужно сгенерировать ключи для моей компьютерной системы и сохранить их в файле, который не существует. Это не только не имеет никакого смысла, но, похоже, не имеет никакого отношения к получению доступа к удаленному серверу с моего компьютера с помощью ключей для веб-сайта, которые уже были созданы для этой цели. Очевидно, что часть информации теряется. Может кто-нибудь объяснить, что я должен делать?

Вроде бы все должно быть просто, но ГДЕ я ставлю КАКОЙ ключ и как мне установить соединение? Я использую терминал в Linux в течение многих лет. Вы могли бы подумать, что я знаю это во сне, но я не знаю.

1

3 ответа на вопрос

1
dirkt

Вы всегда генерируете пару ключей: закрытый ключ, который вы должны хранить в секрете, и открытый ключ, который могут видеть другие люди.

Таким образом, для ключей, которые позволяют вам удаленно обращаться к веб-сайту, эти ключи идентифицируют вас (они подтверждают вашу личность). Это означает, что закрытый ключ должен оставаться на вашем компьютере, в то время как открытый ключ должен находиться на удаленном компьютере.

Итак, конкретно, вы будете генерировать id_rsa(приватный) и id_rsa.pub(публичный). ключ. Просто держите оба в .sshкаталоге в вашем домашнем каталоге на вашем компьютере (обычно вы создаете их после перехода в этот каталог). id_rsaКлюч будет автоматически использоваться в sshкачестве личности, в то время какid_rsa.pub ключ будет игнорироваться, но вы будете знать, где он находится, если вам это нужно.

На удаленной стороне, в .sshкаталоге учетной записи, в которую вы хотите войти, есть authorized_keysфайл, который содержит список открытых ключей, по одному на строку. Этот файл прочитан, sshdчтобы узнать, кому разрешено подключаться к этой учетной записи.

Либо отредактируйте этот файл и добавьте содержимое вашего локального файла id_rsa.pubв новую строку, либо, если файл отсутствовал или должен содержать только один ключ, просто скопируйте свой локальный файл id_rsa.pubвauthorized_keys .

Вот и все. Конечно, вы можете использовать сценарии, которые автоматизируют этот процесс, но это то, к чему он сводится.

Да, я сделал это с помощью графического интерфейса на странице конфигурации сайта. Я получил открытый и закрытый ключи. Я просто не знаю, как их использовать, так как все инструкции, которые я нашел, говорят о доступе к моему собственному компьютеру с помощью ключей, сгенерированных на моем компьютере, а это не то, что я пытаюсь сделать. DiesLaughing 6 лет назад 0
В ответе объясняется, как получить доступ к другому компьютеру с помощью пары ключей, независимо от того, как вы сгенерировали эти ключи: предполагая ключи RSA, вы помещаете закрытый ключ в `id_rsa` на вашем компьютере, а открытый ключ - в файл` authorized_keys` на другом компьютере. Вы не упомянули ни один веб-сайт в этом вопросе, и я не рекомендовал бы использовать случайный веб-сайт для генерации ваших ключей (потому что тот, кто владеет веб-сайтом, будет знать ваш закрытый ключ). Если этот веб-сайт предоставлен тем, кто владеет удаленным компьютером, он может автоматически поместить открытый ключ в файл authorized_hosts. dirkt 6 лет назад 0
Во всяком случае, если вопрос зависит от этого веб-сайта, пожалуйста, добавьте детали к вопросу. dirkt 6 лет назад 0
Я чувствую себя так глупо. Я правильно понял, когда попробовал в первый раз. Затем я угадал себя и то, как я понял страницы руководства, когда это не сработало. Я забыл, что мой сайт все еще находится на виртуальном хостинге. Мне нужно было перейти на выделенный сервер, и он прекрасно работает в любом направлении. DiesLaughing 6 лет назад 0
0
wallacesilva09

По умолчанию ваши ключи SSH сохраняются в папке /home/[youruser]/.ssh/. Для использования ssh-соединения вы можете использовать следующие способы:

ssh [username]@[server] -i ~/.ssh/id_rsa -p [port-number-of-ssh]

пример использования: ssh dies@dies.com -i ~/.ssh/id_rsa -p 22

или вы можете игнорировать ключ и ввести пароль соединения, используя параметр, чтобы игнорировать проверку ключа, см. пример:

ssh dies@dies.com -o PubkeyAuthentication=no -p 22

удачи тебе!

Благодарю. Дом / пользователь / .ssh был большой частью того, что я искал. DiesLaughing 6 лет назад 0
0
Lewis M

Предположение, одно и то же имя пользователя на сервере A и serverB. Вы хотите войти на сервер B с сервера A.

На сервере A, если вы еще этого не сделали, сгенерируйте пару ключей ssh:

ssh-keygen -t rsa -N '' 

На сервере A выполните следующую команду, чтобы настроить разрешения, чтобы при переходе с сервера A на сервер B не запрашивался пароль:

ssh-copy-id serverB 

Вам будет предложено ввести пароль.

Если команда ssh-copy-id была успешной, подтвердите, что вы можете выполнить ssh с сервера A на сервер B без запроса пароля.

ssh serverB 

Если вы попадаете на сервер B, все готово.

Надеюсь это поможет

Ключи были сгенерированы в панели администратора сайта с помощью графического интерфейса. Затем он сказал, чтобы сохранить закрытый ключ на моем компьютере. Везде, где я искал дополнительную информацию, говорится о том, как генерировать ключи на моем компьютере, но я не мог понять, как их распознает веб-сервер. Возможно, это меня так смутило, потому что я ограничил графический доступ к размещенному веб-сайту (я не администратор сервера). У меня был бы только полный административный доступ к базе данных, которую я установил для веб-сайта на этом сервере. DiesLaughing 6 лет назад 0
Я просто хотел уточнить, что это упрощает сценарий, который я продолжаю видеть в интернете, и намного проще, чем то, что ожидает веб-хостинг, так как у меня есть удобный терминал и я знаю, где находятся мои файлы, но пока у меня нет доступа к ssh удаленный сервер у меня нет полного контроля на этой стороне. Очень полезно. Благодарю. DiesLaughing 6 лет назад 0
К сожалению, разрешение отказано. DiesLaughing 6 лет назад 0

Похожие вопросы