условие команды иногда целое число иногда представляет в виде строки

Добавление ключей к агенту преходящее. Они служат только до тех пор, пока работает агент. Если вы убьете его или перезагрузите компьютер, они будут потеряны до тех пор, пока вы не перезагрузите их снова. На странице ssh-agent man page:

ssh-agent - это программа для хранения закрытых ключей, используемых для аутентификации по открытому ключу (RSA, DSA, ECDSA). Идея заключается в том, что ssh-agent запускается в начало X-сессии или сеанса входа в систему, а все остальные окна или программы запускаются как клиенты программы ssh-agent. Через сайт . использование переменных окружения, на которых агент может быть расположен и автоматически использоваться для аутентификации при входе в систему на других машинах с использованием ssh(1).

У агента изначально нет закрытых ключей. Ключи добавляются с помощью ssh-add(1). При выполнении без аргументов, ssh-add(1) добавляет ключ файлы ~/.ssh/id_rsa, ~/.ssh/id_dsa, ~/.ssh/id_ecdsa и ~/.ssh/identity. Если идентификатор имеет кодовую фразу, ssh-add(1) запрашивает параметр кодовая фраза на терминале, если он имеет одну из них, или из небольшой программы X11, если она работает под X11. Если ни одна из этих фраз не выполняется, то аутентификация будет неудачной. Затем она посылает идентификатор агенту. В агенте может быть сохранено несколько идентификаторов; агент может автоматически использовать любую из этих личностей. ssh-add -l отображает идентификаторы, которыми в настоящее время владеет агент.

macOS Sierra

Начиная с macOS Sierra 10.12.2, Apple добавила опцию UseKeychain config для SSH-конфигураций. Вы можете активировать эту функцию, добавив UseKeychain yes к вашему ~/.ssh/config.

Host *
  UseKeychain yes

OSX Keychain

Я не использую OSX, но нашел этот вопрос в SuperUser под заголовком: Как использовать Mac OS X Keychain с SSH ключами?.

Я понимаю, что начиная с Mac OS X Leopard, Keychain поддерживал хранение SSH ключей. Кто-нибудь может объяснить, как должна работать эта функция.

Итак, по её звучанию вы можете импортировать ваши SSH ключи в связку ключей, используя эту команду:

$ ssh-add -K [path/to/private SSH key]

Ваши ключи должны сохраняться от загрузки к загрузке.

При каждой перезагрузке вашего Mac все SSH ключи в связке ключей будут автоматически загружены. Вы сможете увидеть ключи в приложении Keychain Access, а также из командной строки через:

 ssh-add -l.

Источник: Суперпользователь - как использовать связку ключей Mac OS X с SSH-ключами?

1
06.04.2014, 17:26
2 ответа
[1123203] Это можно сделать с помощью оператора [1123661] =[1123662], как [1123663][ $(cat /path_of a file/) = 1 ][1123664]. Он сравнивает строковые представления обоих аргументов и работает во всех случаях.

Использование [1123665]-eq[1123666] вместо сравнения строк может быть предпочтительнее в некоторых случаях ([1123667][ 01 -eq 1 ][1123668] истинно, в то время как [1123669][ "01" = 1 ][1123670] нет), но в большинстве случаев это просто более опасно. Если же действительно необходимо целочисленное сравнение, то следует использовать предложение @Gnouc.[1123206].

2
27.01.2020, 23:28
[1123197] Переменная на баше не типизирована. Если вы хотите, чтобы условие всегда вычислялось целыми числами, вы можете использовать [1123651]delcare -i[1123652], чтобы переменная всегда была целым числом. Из [1123653]bash manpage[1123654]:

Таким образом, ваш пример становится:

Обратите внимание, что если у вас [1123655]bash[1123656] версии 4.x, вы должны использовать новый тест [1123657][[...]][1123658] вместо [1123659][...][1123660].[1123202].

1
27.01.2020, 23:28

Теги

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