Настроенный открытый / закрытый ключ на CentOS6 - Я все еще могу подключиться без закрытого ключа

Из командной строки или из сценария можно преобразовать (и сделать другие вещи тоже) любой способ с помощью LibreOffice.

Можно преобразовать, а затем просмотреть несколько файлов (пример 1) или открыть представление и преобразовать другие файлы в фоновом режиме (пример 2) практически любым требуемым способом.

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

Два следующих примера представлены в такой форме, чтобы поддаваться написанию сценариев.

Объяснение -env: UserInstallation 1 можно найти здесь , а ссылку на --accept можно найти в таблице здесь . Соединение может представлять собой сокет или канал (требуется именованный канал). Сводку параметров командной строки можно найти в документации LibreOffice . Параметры по умолчанию для LibreOffice находятся в bootstraprc 1 и sofficerc 2 .

Синтаксис может показаться немного сложным, поскольку требуются строки uno. На мой взгляд, строки uno плохо задокументированы. Однако преимущество этого подхода заключается в том, что он может быть распределен по сети, при необходимости, для обеспечения возможности создания системы производства/обработки документов.

Пример 1. Convert Then View

В следующем источнике сначала показано, как это делается параллельно (требуется отдельная привязка пользователя/порта для каждого экземпляра) и как это делается в последовательном формате.

# My LibreOffice version is:

# $ libreoffice --version
# LibreOffice 4.2.8.2 420m0(Build:2)

# My files are in a local folder '.'

# $ ls .
# sample00.csv sample01.csv sample02.csv

# Parallel conversion: convert as many as you wish; to be done in parallel
# each instance will exit when completed.  You can set UserInstallation 
# to the location desired, as long as the user can access it, and you can 
# use any tcp port you wish, as long as it is available. The location and
# port are created if they do not exist. Note that each location and port
# must be unique. The location ~/.loports/ is a convenient
# construct. An explanation of -env:UserInstallation and --accept follows.

# -env:UserInstallation=
# changes the default user location that is found in bootstraprc.

# --accept
# 'socket,' use a socket 
# 'host=0,' any host (also can use localhost or nnn.nnn.nnn.nnn).
# 'port=NNNN,' can be any available tcp port number.
# 'tcpNoDelay=1;' for uno connections, 0 for 200ms delay (default).

# Now do:

soffice --headless "-env:UserInstallation=file:///home/$USER/.loports/8100" --accept="socket,host=0,port=8100,tcpNoDelay=1;" --convert-to ods --outdir . sample00.csv &
soffice --headless "-env:UserInstallation=file:///home/$USER/.loports/8101" --accept="socket,host=0,port=8101,tcpNoDelay=1;" --convert-to ods --outdir . sample01.csv &
soffice --headless "-env:UserInstallation=file:///home/$USER/.loports/8102" --accept="socket,host=0,port=8102,tcpNoDelay=1;" --convert-to ods --outdir . sample02.csv &

# ... and so on ...

# To open multiple views, do:

soffice --nologo --view sample00.ods sample01.ods sample02.ods &

# ... and so on ... 

# Serial conversion:  you can do serial conversion by sending each csv
# file to the same port but you must wait for it to finish first.
# Each conversion will exit when completed. Do something like:

( soffice --headless "-env:UserInstallation=file:///home/$USER/.loports/8100" --accept="socket,host=0,port=8100,tcpNoDelay=1;" --convert-to ods --outdir . sample00.csv &&
  soffice --headless "-env:UserInstallation=file:///home/$USER/.loports/8100" --accept="socket,host=0,port=8100,tcpNoDelay=1;" --convert-to ods --outdir . sample01.csv &&
  soffice --headless "-env:UserInstallation=file:///home/$USER/.loports/8100" --accept="socket,host=0,port=8100,tcpNoDelay=1;" --convert-to ods --outdir . sample02.csv &&
  soffice --nologo --view sample00.ods sample01.ods sample02.ods ) &

# Quick note, when completed, check that your directory, in this case,
# ~/.loports, has been removed. 

Пример 2: Просмотр и преобразование (в фоновом режиме)

Преобразование в фоновом режиме возможно при просмотре файлов. Для каждого экземпляра LibreOffice необходимо просто создать нового пользователя и привязать к нему новый tcp-порт. Ниже приведен пример:

# Open a view:

soffice --nologo --view sample00.ods sample01.ods sample02.ods &

# Then convert in the background as you like:

( soffice --headless "-env:UserInstallation=file:///home/$USER/.loports/8101" --accept="socket,host=0,port=8100,tcpNoDelay=1;" --convert-to ods --outdir . sample00.csv &&
  soffice --headless "-env:UserInstallation=file:///home/$USER/.loports/8101" --accept="socket,host=0,port=8100,tcpNoDelay=1;" --convert-to ods --outdir . sample01.csv &&
  soffice --headless "-env:UserInstallation=file:///home/$USER/.loports/8101" --accept="socket,host=0,port=8100,tcpNoDelay=1;" --convert-to ods --outdir . sample02.csv ) &

Файлы преобразуются в последовательные; как таковые они могут быть связаны с одним и тем же портом. Следует отметить, что просматриваемые файлы также преобразуются в фоновом режиме. Однако при параллельном преобразовании каждый преобразователь должен быть связан с уникальным tcp-портом. Конечно, вы можете использовать любого пользователя/порт, если они уникальны и доступны.

При закрытии...

Этот процесс можно организовать так, как вам угодно, в скриптах, без привлечения других электронных таблиц или программного обеспечения, и в полной мере воспользоваться широкими фильтрами преобразования, которые может предложить LibreOffice.

Дополнительно это можно сделать из LibreOffice с помощью ooBasic. Существуют встроенные фильтры экспорта импорта, доступ к которым можно получить для этой цели, например, с помощью опций меню.

В качестве дополнительного бонуса, если после фонового преобразования (см. пример 2) будет выполнено следующее:

xdotool search --name sample00.ods windowactivate --sync key --clearmodifiers ctrl+shift+r &&
xdotool search --name sample01.ods windowactivate --sync key --clearmodifiers ctrl+shift+r &&
xdotool search --name sample02.ods windowactivate --sync key --clearmodifiers ctrl+shift+r

Однако сначала необходимо установить xdotool , а затем выполнить следующее: sudo apt-получить установочный xdotool .

Сноски

1 Значение по умолчанию UserInstallation находится в /usr/lib/libreoffice/program/bootstraprc .

2 Общие настройки конфигурации находятся по адресу /etc/libreoffice/sofficerc .

-121--145285-

это также должно работать

awk 'BEGIN {l1=0} /^start$/{l1=1} /^next$/ && l1==1 {l2=NR+1} NR==l2 {print;l1=0}' test.txt

, он использует номер записи NR для печати записи после первой следующей после начальной строки.

-121--96176-

Похоже, модуль nouveau в настоящее время не загружен. Вероятно, это происходит из-за того, что установщик nvidia внес его в черный список во избежание конфликтов, а затем забыл отменить его при удалении.

Смотрите в /etc/modprobe.d ; должен быть один или несколько файлов. Один из них может содержать строку с

blacklist nouveau

или подобную. Измените этот файл, чтобы удалить строку, а затем попробуйте перезагрузить.

0
18.03.2019, 04:10
1 ответ

Вам необходимо явно отключить аутентификацию по паролю на сервере, если вы хотите разрешить только открытые/закрытые ключи. В вашем /etc/ssh/sshd_configизмените или добавьте настройку:

PasswordAuthentication no

Мне также нравится явно отключать все другие типы аутентификации, которые я не использую, такие как Kerberos и GSSAPI.

0
28.01.2020, 02:32

Теги

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