Учитывает ли ssh-add объявления, сделанные в файлах ssh_config?

Питон

С вашим входным файлом, указанным в вопросе, один лайнер можно сделать так:

$ python -c 'import sys,re;f=open(sys.argv[1],"r");a=tuple(l for l in f.readlines() if l.startswith("\\author") );print("\n".join(re.split(", |,|{|}",a[0].strip())[1:]))' input.tex      
Author 1
Author 2
Author 3

И скрипт как таковой:

#!/usr/bin/env python

import sys,re

# read the doc, find the desired line
line=""
with open(sys.argv[1]) as f:
    for l in f:
        if l.startswith("\\author"):
            line=l.strip()
            break
# split at multiple separators, get slice of that list starting since 2nd item
author_list = re.split( ", |,|{|}", line )[1:] 
# print 1 author per line
print("\n".join(author_list))

Основные шаги выполняются в два раза -прочитать файл и найти строку, которая начинается со строки \\authors, а затем разбить строку по нескольким разделителям на список токенов и создать новую -строку, разделенную строкой. из этого списка токенов. Я также взял на себя смелость рассмотреть возможность того, что вам, возможно, придется разделить либо на ,, либо на ,<space>.

2
12.09.2019, 05:53
1 ответ

ssh-add не учитывает файл конфигурации. Он просто добавляет ключ к агенту.

Клиент sshпопытается использовать ключ ~/.ssh/id_rsa_bullпри подключении к одному из gg-rootилиss-root(из-за конфигурации IdentityFile). Если этот ключ доступен в агенте, то он будет использоваться оттуда, в противном случае будет использоваться ключ из файла (и, возможно, потребуется указать пароль, если ключ связан с ним ).

Ключи в агенте также будут использоваться при подключении к любому другому хосту , не сконфигурированному с определенным IdentityFileв ~/.ssh/config. Это означает, что конфигурация ограничивает ключи, используемые для аутентификации с определенными хостами, но показанная конфигурация не препятствует использованию «бычьего ключа» с другими хостами.

2
27.01.2020, 22:08

Теги

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