Как программно найти значение по умолчанию ssh ключом?

Как правило ползунка (лично) я склонен избегать совместно использованных установок хостинга, они подвержены многим проблемам сначала и formost быть "другим сайтом на поле" проблема,

Вы могли совместно использовать сервер приблизительно с 20 другими клиентами, в этом случае если сервер не является установкой правильно (и даже в некоторых случаях, где это), независимо от того, что Вы делаете для создания кода безопасным, это только столь же безопасно как все остальное на там, я обратился на сайт, поставленный под угрозу ни через какой отказ сам по себе этим способом.

  1. Можно ли копировать это локально?

Если бы не время для рассмотрения другого хоста я рекомендовал бы использовать поставщика VPS, такого как linode, или если Вы хотите пойти "облако", там EC2, cloudhosts, rackspace и т.д...

3
задан 4 April 2014 в 05:06
1 ответ

Из справочной страницы для ssh:

     -i identity_file
         Selects a file from which the identity (private key) for public
         key authentication is read.  The default is ~/.ssh/identity for
         protocol version 1, and ~/.ssh/id_dsa, ~/.ssh/id_ecdsa and
         ~/.ssh/id_rsa for protocol version 2.  Identity files may also be
         specified on a per-host basis in the configuration file.  It is
         possible to have multiple -i options (and multiple identities
         specified in configuration files).  ssh will also try to load
         certificate information from the filename obtained by appending
         -cert.pub to identity filenames.

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

ssh -i ~/.ssh/id_rsa foo@bar.com

и

ssh foo@bar.com

будут работать одинаково. Если вам нужно найти местоположение ключа программно по причине, отличной от использования ssh (т.е. заполнения авторизованных ключей), вы можете проверить все местоположения, которые проверяет файл конфигурации, и проанализировать файл ssh_config для поиска отдельных записей хоста. От человека ssh_config:

         The file name may use the tilde syntax to refer to a user’s home
         directory or one of the following escape characters: ‘%d’ (local
         user’s home directory), ‘%u’ (local user name), ‘%l’ (local host
         name), ‘%h’ (remote host name) or ‘%r’ (remote user name).

Таким образом, вам также придется проанализировать этот формат, чтобы найти отдельные файлы (если они определены).

3
ответ дан 3 December 2019 в 06:34

Теги

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