Вот где я нахожу grep -rl
очень полезным:
grep -rl alias ~/.bash* ~/.profile /etc/profile /etc/bash.bashrc
скажет вам, в каком файле используется слово alias
.
Вероятно, в ~/.bashrc
и наверняка в ~/.bash_aliases
, если он существует.
Однако невозможно быть абсолютно уверенным, что это охватывает все опции.
Эти файлы также могут вызывать или загружать любые другие файлы.
Переменная окружения типа ENV или $BASH_ENV
может направить bash на загрузку других файлов.
ищет переменную BASH_ENV в окружении, расширяет ее значение, если оно там появляется, и использует расширенное значение как имя файла для чтения и выполнения.
А псевдонимы можно даже определить, задав переменную (выделение мое):
BASH_ALIASES
Переменная ассоциативного массива, члены которого соответствуют внутреннему списку псевдонимов, поддерживаемому встроенным модулем псевдонимов. Элементы, добавленные в этот массив, появляются в списке псевдонимов
And furthermore this doesn't match the syntax of known_hosts which has lines of the form:
Это не имеет значения. Один из них хеширован (Ubuntu по умолчанию ), и вы используете не хешированную версию -. Они могут сосуществовать рядом друг с другом без каких-либо проблем. Просто делай как просят:
@cert-authority *.example.com ssh-rsa [...base64blob...] CA key for spsi
Do you have a clear way of doing this in the command line rather than editing manually the file?
Сделайте это вручную. Для этого нет командной строки -, если только вы не напишете какой-нибудь скрипт.
Also, what is the idea of this whole scheme? What is the difference between a certificate approach and a public/private key system?
С сертификатами у вас будет только одна строка в ваших известных хостах, которая будет проверять все ключи хостов серверов, подписанные этим ЦС. И вас никогда не попросят проверить ключи хостов для этих хостов (, что является самой раздражающей особенностью SSH ).