2

Я случайный пользователь Linux, но мне трудно понять некоторые указания, отправленные мне от компании, которой мы предоставляем данные. Они хотят, чтобы мы использовали ssh (который я использовал ранее) для передачи данных с помощью scp. Проблема в том, что я никогда не использовал ssh-keygen и не до конца понимаю, как он работает. Может ли кто-нибудь помочь мне в этом. Я включу инструкции, чтобы вы могли точно видеть, что они прислали мне.

* В каталоге «home» учетной записи, которая будет отправлять данные, лучше всего создать каталог «.ssh» (если он не существует). Это местоположение по умолчанию, которое используется для управления всеми парами ключей ssh. У вас может быть несколько разных пар ключей, и поэтому полезны соглашения об именах (по умолчанию ssh-keygen использует «id-rsa» для имени файла ключей (id-rsa для закрытого ключа и id-rsa.pub для открытого ключ). Команда, которую я обычно рекомендую создать пару ключей, была бы; ssh-keygen -t rsa -N "" -f name -C "account @ server_name - краткое описание"

Куда; флаг '-t' предназначен для типа создаваемого ключа (rsa), флаг '-N' предназначен для необязательной парольной фразы («» - пустая строка - по сути, пароль не задан (это то, что вам нужно для автоматизированного процесса , но не то, что вы хотите, когда / если настраиваете для личного использования)), флаг '-f' для имени файла (это то, что будет использоваться для замены имени по умолчанию 'id_rsa' - это может быть указано при вызове команда 'scp'), флаг '-C' предназначен для поля комментария (это полезно, если у вас есть несколько ключей, вы можете вставить краткое описание того, для чего используется ключ - я обычно рекомендую, чтобы сервер и учетная запись сгенерированный ключ включен с кратким описанием его первичного использования; 'unduser1 @ hostname - передача данных в компанию X).*

Спасибо за помощь!

1 ответ1

4

По сути, вам нужно создать пару открытый / закрытый ключ, используя keygen. Это даст вам пару файлов, например, id_dsa и id_dsa.pub .

С помощью SSH вы можете поместить часть pub в удаленную учетную запись, а при входе в систему ssh может проверить это по отношению к непубличной части и пропустить всех, у кого она есть. Очень легко думать о id_dsa.pub как о замке и id_dsa как о ключе.

Итак, на любом компьютере с Linux или Unix или MacOS запустите keygen, который выдаст вам эти два файла:

ssh-keygen -t dsa -N "" -C "my dsa key"

Затем отправьте файл id_dsa.pub администраторам, обслуживающим удаленный компьютер (и им необходимо поместить его в папку ~/.ssh на удаленном компьютере). Если у вас есть пароль для удаленного компьютера, вы можете использовать ssh-copy-id user@hostname (man-страницу), чтобы отправить туда свою пару ключей.

Сохраните приватный файл (id_dsa) для себя. Затем необходимо перейти к компьютеру, с которого вы инициируете соединение. Это во многом зависит от того, какую операционную систему и клиентское программное обеспечение SSH вы используете.

Если это тоже Linux, поместите его в папку ~/.ssh (создайте его при необходимости).

  mkdir ~/.ssh
  chmod 700 ~/.ssh
  mv id_dsa ~/.ssh
  chmod 700 ~/.ssh/id_dsa

С этого момента вы сможете использовать ssh для удаления

 ssh user@remote.machine.com 

или же

 ssh -i ~/.ssh/id_dsa user@remote.machine.com 

В Windows это будет зависеть от программного обеспечения терминала, которое вы используете для SSH, например, с помощью ZOC SSH/Telnet Terminal вы можете указать имя файла для приватного файла с информацией для входа в систему (см. Этот снимок экрана, файл перейдет в файл "ssh key" "поле". Это зависит от программного обеспечения.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .