LINUX.ORG.RU

Сообщения SpaceRanger

 

RADOS timed out (error connecting to the cluster)

Лорчик, привет. Помоги советом, пожалуйста.

В общем, в процессе изучения, решил отключить авторизацию клиентов и вообще компонентов цефа с помощью cephX

отключал не каноническим образом, описанным в мануале. Подумав, возможно не правильно, я решил, что /etc/ceph/ceph.conf это почти то же самое, что и параметры, который в БД мониторов хранятся. Кароч, решил в БД мониторов их и поменять

ceph config set global auth_cluster_required none
ceph config set global auth_service_required none
ceph config set global auth_client_required none

Рестарт кластера иииииииииии

root@ceph1:/etc/ceph# ceph -s
2024-02-21T07:44:00.109+0000 7fba7b7fe700 -1 monclient(hunting): handle_auth_bad_method server allowed_methods [1] but i only support [1]
[errno 13] RADOS permission denied (error connecting to the cluster)

в логе монитоов вот такое

Feb 21 07:44:21 ceph1 bash[62037]: debug 2024-02-21T07:44:21.277+0000 7fdcadac0700 -1 mon.ceph1@0(probing) e3 handle_auth_request no AuthAuthorizeHandler found for auth method 2
Feb 21 07:44:21 ceph1 bash[62037]: debug 2024-02-21T07:44:21.289+0000 7fdca82b5700 -1 mon.ceph1@0(probing) e3 handle_auth_bad_method hmm, they didn't like 2 result (95) Operation not supported

Пробовал в /etc/ceph/ceph.conf выставить обратно

auth_cluster_required = cephx
auth_service_required = cephx
auth_client_required = cephx

Вообще просто висит тогда

root@ceph1:/etc/ceph# ceph config
2024-02-21T07:30:27.308+0000 7f3ee11bf700  0 monclient(hunting): authenticate timed out after 300
[errno 110] RADOS timed out (error connecting to the cluster)

Полагаю, что я как то по красоте не верные настройки ввёл в БД мониторов.

Собственно вопрос - как вернуть всё взад? Проблема в гуголе встречается, но там хотя бы хостовые утилиты могут коннектиться к кластеру, а у меня даж этого не могут сделать.

Всем блуждающих квантов альфа-самцовства для становления чедами.

 

SpaceRanger
()

nextcloud и vaultwarden в кубере

Привет, ЛОР! Чё как? Какие дела на раёне? Надеюсь всё ровно! Слух, вот в чём дело. ЕОН (есть одна нода)и на ней должны работать два пода с разными приложениями - nextcloud и vaultwarden. Дело в том, что не получается настроить ингресс контроллер.

Смотри, вот c таким конфигом не работает

---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: vaultwarden
  namespace: nc
spec:
  replicas: 1
  selector:
    matchLabels:
      app: vaultwarden
  template:
    metadata:
      name: vaultwarden
      labels:
        app: vaultwarden
    spec:
      containers:
        - image: vaultwarden/server:latest
          name: vaultwarden
---
apiVersion: v1
kind: Service
metadata:
  name: vaultwarden-nodeport
  namespace: nc
spec:
  type: NodePort
  sessionAffinity: ClientIP
  ports:
    - port: 80
      targetPort: 80
  selector:
    app: vaultwarden
---

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: mysite
  namespace: nc
  annotations:
    kubernetes.io/ingress.class: nginx
    nginx.ingress.kubernetes.io/connection-proxy-header: "keep-alive"
    ingress.kubernetes.io/ssl-redirect: "true"
    nginx.ingress.kubernetes.io/proxy-connect-timeout: "30s"
    nginx.ingress.kubernetes.io/proxy-read-timeout: "20s"
    nginx.ingress.kubernetes.io/proxy-body-size: 512m
    cert-manager.io/issuer: "letsencrypt-production"
spec:
  tls:
    - hosts:
      - mysite.ru
      secretName: mysite.tls
  rules:
  - host: mysite.ru
    http:
      paths:
      - path: /
        pathType: Prefix
        backend:
          service:
            name: nc-nodeport
            port:
              number: 80
      - path: /vaultwarden
        pathType: Prefix
        backend:
          service:
            name: vaultwarden-nodeport
            port:
              number: 80

, и обращение к mysite.ru/vaultwarden выдаёт вот такую страницу. Это вроде как не 404 от нжинкса, поэтому смею предположить, что до пода таки доходит запрос.

Ежели конфиг ингресса немного модифицировать, в корень поставив службу vaultwarden-nodeport, то вольфварден начинает прекрасно работать, но нет доступа до некстклауда, что логично.

      paths:
      - path: /
        pathType: Prefix
        backend:
          service:
            name: vaultwarden-nodeport
            port:
              number: 80

Собственно вопрос - почему обращение mysite.ru/vaultwarden не работает и как исправить?

 ,

SpaceRanger
()

Контроль пробелов в Jinja2

Привет, ЛОР. Подскажи, плес, почему у меня сдвинуты вправо цифры в моем результате рендера?

Вот это шаблон

{% macro fill_fact (amount, pps) %}
    {%- for i in range(1,amount + 1) %}
        {%- set counter={'count': 5} %}
        {%- set ports_list = [] %}
            {%- for k in range(1,pps + 1) %}
             {{ ports_list.append(counter.count|string + "30" + k|string) }}
                {%- if counter.update({'count': counter.count + 1 }) %}{% endif %}
            {% endfor %}
    "{{ i }}": {
        "ports": {{ ports_list }},
        }{{ ", " if not loop.last else "" }}
    {% endfor -%}
{% endmacro %}

{
{{ fill_fact(amount_of_nodes,port_per_server) }}
}

А вот что получается в итоге((

{
                                           "1": {
        "ports": ['5301', '6302', '7303'],
        },
                                           "2": {
        "ports": ['5301', '6302', '7303'],
        },
                                           "3": {
        "ports": ['5301', '6302', '7303'],
        }

}

А я ожидаю вот так штоп было

{
    "1": {
        "ports": ['5301', '6302', '7303'],
        },
    "2": {
        "ports": ['5301', '6302', '7303'],
        },
    "3": {
        "ports": ['5301', '6302', '7303'],
        }

}

Что-то не могу понять из доки где ещё то минус надо поставить:

lstrip_blocks: true стоит в таске

Заранее индуцирую лучи здоровья и успеха в сторону всех отписавшихся (не от меня отписавшихся в смысле).

 

SpaceRanger
()

PowerDNS-recursor не отдаёт ответ dig

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

Интересный феномен заключается в том, что nslookup и host норм резолвят мою зону, а вот dig не желает.

dig gitlab.prod.test @10.50.8.54 -t A

; <<>> DiG 9.18.12-0ubuntu0.22.04.3-Ubuntu <<>> gitlab.prod.test @10.50.8.54 -t A
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 13405
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;gitlab.prod.test.              IN      A

;; Query time: 15 msec
;; SERVER: 10.50.8.54#53(10.50.8.54) (UDP)
;; WHEN: Wed Nov 22 08:21:43 UTC 2023
;; MSG SIZE  rcvd: 45

nslookup gitlab.prod.test. 10.50.8.54
Server:         10.50.8.54
Address:        10.50.8.54#53

Non-authoritative answer:
Name:   gitlab.prod.test
Address: 10.50.8.24

Кофиг днс авторитативный:

local-address=127.0.0.1
local-port=25301
guardian=yes

Конфиг рекурсора

local-address=127.0.0.1
local-port=25302
allow-from=127.0.0.1/8,10.50.8.0/24
hint-file=/usr/share/dns/root.hints
forward-zones=prod.test=127.0.0.1:25301;

И конфиг днсдиста

setLocal('127.0.0.1')
addLocal('10.50.8.54')
newServer({address='127.0.0.1:25301', pool='auth'})
newServer({address='127.0.0.1:25302', pool='recursor'})
recursive_ips = newNMG()
recursive_ips:addMask('127.0.0.1/32')
recursive_ips:addMask('10.50.8.0/24')
addAction(NetmaskGroupRule(recursive_ips), PoolAction('recursor'))
addAction(AllRule(), PoolAction('auth'))

Причём видится мне, что проблема именно в рекурсоре, потому как если я на самом хосте с днс делаю, то всё ок отдаётся.

dig gitlab.prod.test @127.0.0.1 -p25301 -t A

; <<>> DiG 9.18.12-0ubuntu0.22.04.3-Ubuntu <<>> gitlab.prod.test @127.0.0.1 -p25301 -t A
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 36849
;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
;; WARNING: recursion requested but not available

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1232
;; QUESTION SECTION:
;gitlab.prod.test.              IN      A

;; ANSWER SECTION:
gitlab.prod.test.       3600    IN      A       10.50.8.24

;; Query time: 4 msec
;; SERVER: 127.0.0.1#25301(127.0.0.1) (UDP)
;; WHEN: Wed Nov 22 08:26:19 UTC 2023
;; MSG SIZE  rcvd: 61

Призываю в тред мудрого анона, чтобы подсказку дал, где искать. Заранее всех целую.

P.S. dig любого другого сайта вне моей зоны выглядит вполне законым

dig ya.ru

; <<>> DiG 9.18.12-0ubuntu0.22.04.3-Ubuntu <<>> ya.ru
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 43924
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;ya.ru.                         IN      A

;; ANSWER SECTION:
ya.ru.                  600     IN      A       77.88.55.242
ya.ru.                  600     IN      A       5.255.255.242

;; Query time: 103 msec
;; SERVER: 10.50.8.54#53(10.50.8.54) (UDP)
;; WHEN: Wed Nov 22 08:31:44 UTC 2023
;; MSG SIZE  rcvd: 66

 

SpaceRanger
()

Почему трекболы не взлетают?

Вот уже на протяжении долгого срока пользуюсь Кенсингтон Эксперт. Ну шикарнейшая же вещь. Даже в игоря гонять удобно. Но почему это единственные производитель известный мне? Почему трекболы не распространены? Да и цены такие шо я того маму в кино водил. Чому так? Или я опередил время и стал визионером в своём кругу общения и единственным, кто преисполнился мощью трекболов?

 

SpaceRanger
()

Где бы поглядеть на сложные гитлаб пайплайны?

Привет, ЛОР. Подскажи, где бы посмотреть на сложные пипелайны, дабы мудрости перенять и глупость свою уменьшить? В гугле смотрел, но там что-то не очень сложные примеры на первой странице, в мануале гитлаба, я так подозреваю, тоже вводные примеры. Где же найти сложностей? Ну тип что-то вроде ансибл-галактики мож чего есть?

 

SpaceRanger
()

RGW за HAProxy не получается настроить

Привет, ЛОР. Снова пришёл к тебе за помощью, помоги плес.

Кароч есть одна тян прокся перед кластером из 3 нод. Идея состоит в том, чтобы по доменному имени прокси получать доступ к бакетам S3. То есть, ceph.prod.test/test-bucket и погнали туда лить данные. Проблема состоит в том, что не получается настроить проксю. Вот, что есть на данный момент

frontend ceph_dashboard_http
       bind *:80
       mode http
       option httplog
       http-request redirect scheme https code 301 if !{ ssl_fc }

frontend ceph_dashboard_ssl
       mode tcp
       bind *:443 ssl crt /etc/ssl/private/ceph.prod.test.pem
       option tcplog
#       use_backend %[req.hdr(Host),lower]
#       acl sub1 hdr_sub(host) -i ceph.prod.test/test-bucket

       use_backend test-bucket if { path /test-bucket }  || { path_beg /test-bucket/ }
       default_backend ceph_dashboard_ssl

backend test-bucket
       balance roundrobin
#        mode http
       http-request replace-path /test-bucket(/)?(.*) /\2
       server ceph1 10.50.8.170:80 check
       server ceph2 10.50.8.171:80 check
       server ceph3 10.50.8.172:80 check

backend ceph_dashboard_ssl
       mode tcp
       option httpchk GET /
       http-check expect status 200
       server ceph1 10.50.8.170:8080 check
       server ceph2 10.50.8.171:8080 check
       server ceph3 10.50.8.172:8080 check

Я вот уже явно указывают созданный баке test-bucket в path но, судя по логам прокси, оно не переключается на бекенд test-bucket, а продолжает использовать ceph_dashboard_ssl, что вызывает глубочаюшую озабоченность.

КОгда курлыкаю

curl -v --insecure https://ceph.prod.test/test-bucket

то получаю это пренеприятнейшее известие

{"status": "404 Not Found", "detail": "The path '/test-bucket' was not found.", "request_id": "d81d9e71-bc02-460b-864f-80d2e77a5483"}

из чего я делаю вывод, что он чот не хочет моё мощное выражение { path /test-bucket } || { path_beg /test-bucket/ } воспринимать всерьёз.

ЛОР, что не так? кроме моего набора хромосом, разумеется

 ,

SpaceRanger
()

Ansible передать параметр внешней петли в условие when в петле внутренней.

Привет, ЛОР. Собственно вопрос сам себя сформулировал.

Есть внешний луп, состоящий из списка

my_cool_dict:
  Uno:
    word: "privet"
  Duo:
    word: "Paka"
  Tre:
    word: "Agu"

Который я передаю во внутрь вот так

- name: chick chick
  include_tasks: my_task.yaml
  loop: " {{ my_cool_dict }}"
  loop_control:
    loop_var: outer

Внутри таски my_task.yaml создаются локальные факты test.fact вида

{
    "general": {
        "Privet": "true",
        "Paka": "true",
        "Agu": "true"
    }
}

Внутри этой самой таски мне как то нужно получить таски чот не получается достучаться до локальных фактов с помощью внешней переменной

when: ansible_local.test.general.outer.word == 'Privet'

говорит, что нет такого поля outer.

Как это делают настоящие профессионалы своего дела, подскажи ЛОРчик, а?

 

SpaceRanger
()

Кластер CEPH за HAProxy. Проблема с доступом к дашборду

ЛОР, привет. Чё как сам? Я к тебе с проблемой :(

Вобщем есть три ноды кластера цеф:

  • 10.50.8.170
  • 10.50.8.171
  • 10.50.8.172

дашборд в данный момент активен на 10.50.8.171.

HAProxy находится на адресе

  • 10.50.8.185

В ней вот такой конфиг

frontend ceph_dashboard
        bind *:80
        bind *:443 ssl crt /etc/ssl/private/ceph.prod.test.pem
        http-request redirect scheme https unless { ssl_fc }
        use_backend ceph_dashboard

backend ceph_dashboard
        balance roundrobin
        mode http
        server ceph1 10.50.8.170:8080 check
        server ceph2 10.50.8.171:8080 check
        server ceph3 10.50.8.172:8080 check

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

Проблема номер один: одномоментно активным может быть только один дашборд, а остальные менеджеры нод ссылаются на активную версию

while true; do curl --insecure https://10.50.8.185/; sleep 1; done

root@haproxy2:/home/g10# while true; do curl --insecure https://10.50.8.185/; sleep 1; done
This resource can be found at <a href="http://10.50.8.171:8080/">http://10.50.8.171:8080/</a>.
This resource can be found at <a href="http://10.50.8.171:8080/">http://10.50.8.171:8080/</a>.

но раз в 3-5 попыток попадает на нода 10.50.8.171 и выдает хтмл код страницы. Соответственно, если с прокси залетаю на 171, то всё хттпс и всё секурно, если на 170 или 172, то редирект прямиком на хттп порт ноды 171, мимо прокси. Да, можно там фильтрацию настроить какую нибудь и вообще запретить ходить на ноды ниоткуда кроме прокси 185, но тогда вообще 404 будет - ничего ж не найдено. Как это фиксят любители луковых оладий цефа? Как спрятать за проксей много нод и дашборд?

Проблема номер джва: Если вдруг мне везёт и я попадаю прямиком на ноду 171 прямиком с прокси 185, то почему то в адресной строке я вижу адрес ноды, а не адрес прокси. Я ожидал, что в адресной строке окажется адресок прокси, а не ноды самой. Это же в конфиге haproxy какой то параметр за это отвечает? Подскажите, плес, какой.

Спасибо, что выслушал ЛОР. Целую крепко, ваша репка.

 ,

SpaceRanger
()

Проброс портов SSH выдаёт ошибку

Привет, ЛОР. Помоги, пожалуйста, чёт не работает. Гугловские рецепты пробовал - не помогло. Суть проблемы в следующей - я делаю проброс вот так

ssh -J root@192.168.100.66:3691,user@192.100.101.39,h10@12.8.0.2 -L 44443:localhost:443 Administrator@192.168.160.98

Команда срабатывает и после ввода паролей я оказываются на Administrator@192.168.160.98. Однако, когда хочу открыть в брауезере на своей локальной машине 127.0.0.1:44443 то, во-первых, получаю ERR_CONNECTION_RESET, а на Administrator@192.168.160.98 вижу

channel 3: open failed: administratively prohibited: 
channel 4: open failed: administratively prohibited: 
channel 3: open failed: administratively prohibited: 
channel 4: open failed: administratively prohibited: 

Гугол говорит про AlowTCPForwrding и PermitOpen это включено. Самая писечка в том, что с винды пробросами в путти всё открывается.

Подскажи, ЛОРчик, где ошибка (кроме того, что моё рождение было ошибкой, разумеется)

 ,

SpaceRanger
()

Диапазоны в инвентаре для Ansible

ЛОР, привет. Подскажи, как сделать по красоте? Есть 100500 хостов с номерами и с отличающимися на инкеремент адресами. Руками в инвентарь всё заносить видится мне не порядочным, а вот так чот не работает.

[my_hosts]
hostname[1:11] ansible_host=192.168.1.[1:11]

хотснеймы в этом варианте ранжируются, а иадрес для всех остаётся 192.168.1.[1:11]

Мож я чего не правильно делаю, но гугол и чатгпт ничего внятного ответить не могут.

Перемещено hobbit из general

 

SpaceRanger
()

Массовая установка через PXE и последующая настройка

Привет ЛОР , я тян, пруфов не будет.

Есть задача установить через PXE и потом настроить много хостов. Пока что всё делают ручками, но этот архаичный подход ранит моё чувство прекрасного.

Собственно говоря, хочу автоматизировать. Пока что видится примерно следующее: как-то автоматом ставить через пикси, а потом гнать ансибл или паппет для установки нужного и последующей настройки настройки.

Вопрос в том, как автоматом ставить что-то через пикси росчерком пальцев по клаве?

Всем ответившим - открытия чакр и не ретроградного Меркурия в пятом доме Солнечного управителя.

 

SpaceRanger
()

Nginx для кубернетеса и для хоста

ПРивет, ЛОР. У меня сейчас развёрнут кластер кубернетеса и для доступа к нему извне используется объект Ingress в виде nginx. Но есть хотелка еще и на самом хосте, вне кластера, поднять , к примеру, заббикс для мониторинга (или там что нибудь ещё, не особо важно). Однако, nginx который в кубере, монопольно забрал себе прослушивание сетевого интерфейса, и есть я, к примеру, ставлю nginx как пакет в систему, то он не работает, работает только nginx, который ingress. Как вообще в таких случаях поступают умные люди? У меня из идей пока что только вторую сетевуху воткнуть и хостовому nginx предлождить слушать её.

Заранее индуцирую положительные вибрации в психоэнергетическом поле ответивших.

Перемещено hobbit из desktop

 ,

SpaceRanger
()

Puppet и возвращаемые значения из функций

Привет, ЛОРчик!

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

Puppet::Functions.create_function(:'check') do
  dispatch :isin do
    param 'String', :path_string
    param 'String', :check_string
    return_type 'Boolean'
  end 

  def isin(path_string, check_string)
    if File.readlines("/etc/default/grub").each do | line |
      return true if line.include?("ipv6")
    end 
      return false
    end 
  end 
end

Функция работает и действительно возвращает верный результат в зависимости от того, есть ли что нибудь про ipv6 в файле или нет.

Затем в модуле описываю логику так

class m_grub {
  include stdlib
  $grub_path="/etc/default/grub"

  $res = Deferred("check",['/etc/default/grub','ipv6']) 
  notify { 'TEST RES':
    message => Deferred(
                 'sprintf',
                 ['Result is : %s', $res]
               ),
  }  
   
  if $res == 'true' {
    notify { 'TRUE': }
  } elsif $res == 'false' {
    notify { 'FALSE': }
  }
}

Проблема в том, что возвращается true, а ни одна нотифайка не выполняется. Причем, если вручную назначать $res = ‘true’ или ‘false’, то всё работает, как положено.

Подскажи, лорчик, гдле ошибка?

Заранее высылаю бандероль с квантами успеха.

Перемещено hobbit из general

 

SpaceRanger
()

Крик души

Извините, но я больше не могу молчать. Господи! Какое же дерьмище этот паппет! Я сейчас изучаю по нужде этот кусок медвежьего говна и страдаю каждую минуту.

Документация это отдельный разговор. Не припомню сходу, видел ли я доки хуже. Такое ощущение складывается, что они специально написали ей левой ногой, чтобы народ у них курсы по их корявой поделке покупал. Вот вышла версия паппета номер 2 и там появилась функция А - окей, авторы описали эту функцию в доке к верссии 2. Затем вышла версия паппет номер 3 - и в документации к верссии 3 будет только функция Б, функция А останется в доках ко второй версии. И приходится постоянно прыгать между версиями, а их на минуточку 7 и промежуточные релизы.

В дополнение к сказанному, эта технология ещё и полудохлая. Последняя книга выходила аж в 2015 году. Инфу как сделать то и как сделать это надо искать по крупицам в гугле, буквально по крупицам!

Возможно, на моё восприятие ещё повлиял синдром утки, так как первым я изучил ансибл. Боженька ты мой, какие светлые воспоминания. Всё логично, стройно и подробнейшим образом расписано. А вкупе с огромным коммьюнити, можно решить или хотя бы нагуглить решение практически любой проблемы. Слава ансиблу. Позор и свалка истории паппету.

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

Даже денег некому дать, чтобы научили пользоваться этим пережитком прошлого. Тот же скиллбокс вежливо пояснил, что такому отсталому говну не учат. Мол, сорян, это вам к сантехникам.

Я кончил.

 

SpaceRanger
()

ssh соединение оказывается в маленьком окне

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

  1. Маленькая активная область окна.
  2. Как будто бы лайв режим. То есть всё, что я делаю в удаленном подключении - отображается и на виртуалке. Нажал ентер в путти - ентер нажался и на экране виртуалбокса.

конфиг sshd на виртуалке вот такой

#       $OpenBSD: sshd_config,v 1.80 2008/07/02 02:24:18 djm Exp $

# This is the sshd server system-wide configuration file.  See
# sshd_config(5) for more information.

# This sshd was compiled with PATH=/usr/local/bin:/bin:/usr/bin

# The strategy used for options in the default sshd_config shipped with
# OpenSSH is to specify options with their default value where
# possible, but leave them commented.  Uncommented options change a
# default value.

#Port 22
#AddressFamily any
#ListenAddress 0.0.0.0
#ListenAddress ::

# Disable legacy (protocol version 1) support in the server for new
# installations. In future the default will change to require explicit
# activation of protocol 1
Protocol 2

# HostKey for protocol version 1
#HostKey /etc/ssh/ssh_host_key
# HostKeys for protocol version 2
#HostKey /etc/ssh/ssh_host_rsa_key
#HostKey /etc/ssh/ssh_host_dsa_key

# Lifetime and size of ephemeral version 1 server key
#KeyRegenerationInterval 1h
#ServerKeyBits 1024

# Logging
# obsoletes QuietMode and FascistLogging
#SyslogFacility AUTH
SyslogFacility AUTHPRIV
#LogLevel INFO

# Authentication:

#LoginGraceTime 2m
PermitRootLogin yes
#StrictModes yes
#MaxAuthTries 6
#MaxSessions 10

#RSAAuthentication yes
#PubkeyAuthentication no
#AuthorizedKeysFile     .ssh/authorized_keys
#AuthorizedKeysCommand none
#AuthorizedKeysCommandRunAs nobody

# For this to work you will also need host keys in /etc/ssh/ssh_known_hosts
#RhostsRSAAuthentication no
# similar for protocol version 2
#HostbasedAuthentication no
# Change to yes if you don't trust ~/.ssh/known_hosts for
# RhostsRSAAuthentication and HostbasedAuthentication
#IgnoreUserKnownHosts no
# Don't read the user's ~/.rhosts and ~/.shosts files
#IgnoreRhosts yes

# To disable tunneled clear text passwords, change to no here!
PasswordAuthentication yes
#PermitEmptyPasswords no
#PasswordAuthentication yes

# Change to no to disable s/key passwords
#ChallengeResponseAuthentication yes
ChallengeResponseAuthentication no

# Kerberos options
#KerberosAuthentication no
#KerberosOrLocalPasswd yes
#KerberosTicketCleanup yes
#KerberosGetAFSToken no
#KerberosUseKuserok yes

# GSSAPI options
#GSSAPIAuthentication no
GSSAPIAuthentication yes
#GSSAPICleanupCredentials yes
GSSAPICleanupCredentials yes
#GSSAPIStrictAcceptorCheck yes
#GSSAPIKeyExchange no

# Set this to 'yes' to enable PAM authentication, account processing,
# and session processing. If this is enabled, PAM authentication will
# be allowed through the ChallengeResponseAuthentication and
# PasswordAuthentication.  Depending on your PAM configuration,
# PAM authentication via ChallengeResponseAuthentication may bypass
# the setting of "PermitRootLogin without-password".
# If you just want the PAM account and session checks to run without
# PAM authentication, then enable this but set PasswordAuthentication
# and ChallengeResponseAuthentication to 'no'.
UsePAM no
#UsePAM yes

# Accept locale-related environment variables
AcceptEnv LANG LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY LC_MESSAGES
AcceptEnv LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE LC_MEASUREMENT
AcceptEnv LC_IDENTIFICATION LC_ALL LANGUAGE
AcceptEnv XMODIFIERS

#AllowAgentForwarding yes
#AllowTcpForwarding yes
#GatewayPorts no
X11Forwarding no
#X11Forwarding yes
#X11DisplayOffset 10
#X11UseLocalhost yes
#PrintMotd yes
#PrintLastLog yes
#TCPKeepAlive yes
#UseLogin no
#UsePrivilegeSeparation yes
#PermitUserEnvironment no
#Compression delayed
#ClientAliveInterval 0
#ClientAliveCountMax 3
#ShowPatchLevel no
#UseDNS yes
#PidFile /var/run/sshd.pid
#MaxStartups 10:30:100
#PermitTunnel no
#ChrootDirectory none

# no default banner path
#Banner none

# override default of no subsystems
Subsystem       sftp    /usr/libexec/openssh/sftp-server

# Example of overriding settings on a per-user basis
#Match User anoncvs
#       X11Forwarding no
#       AllowTcpForwarding no
#       ForceCommand cvs server
UseDNS no
GSSAPIAuthentication no

Это что такое и как лечить?

 , ,

SpaceRanger
()

Превью с generate-all в nextcloud

Всем привет. ЛОР, подскажи, где проблема?

Есть сскриптик, который раз в 5 минут по крону должен стартовать и генерировать превьюшки

#!/bin/bash

echo $(date) Generator has started >> generator_counter
php /var/www/html/occ preview:generate-all -vvv
echo $(date) Generator has finished >> generator_counter

Когда я запускаю его ручками, то в логе generator_counter разница во времени правдоподобна времени работы скрипта - 20 секунд

Fri Apr 7 14:35:45 UTC 2023 Generator has started
Fri Apr 7 14:36:25 UTC 2023 Generator has finished

Когда же запуск происходит по крону

*/5 * * * * bash -c /var/www/preview-generator.sh

то время работы вообще 0 секунд

Fri Apr 7 14:45:01 UTC 2023 Generator has started
Fri Apr 7 14:45:01 UTC 2023 Generator has finished

В чём косяк то?

 

SpaceRanger
()

Как копировать красиво по scp через миллион хопов?

Вот есть в винде китти, а там встроен WinSCP. Захожу на нужный хост, првый клик - > открыть winscp и я готов к копированию. На линуксе же либо пердолинг с туннелями, либо scp последовательно с хоста на хост, пока не доберёшься до нужного. Как решить эту проблему с юзабилити и по красоте?

 

SpaceRanger
()

Кастом модуль для ансибл

Привет, посоны.

Написал свой модуль для ансибла - всё работает, но есть одна деталь, которая не даёт покоя. Почему, когда условие модуля отрабатывает без ошибок, то ансибл просто пишет

ok: [HOSTNAME -> localhost]

вместо того, чтобы мне показать моё сообщение? Причем, в многословном режиме -vvv мессага показывается. Щито делать и кто виноват?

from ansible.module_utils.basic import *
import os


def check(file, ip):
    with open(file, 'r+') as f:
        content = f.readline()
        if content == "":
            os.remove(file)
            msg = "NO ERRORS FOUND IN %s" % (ip)
            rc=0
            return {'changed':False,'failed':False,'message': msg}
        else:
            msg = "ERRORS FOUND IN %s" % (ip)
            rc=1
            return {'changed':True,'failed':True,'message': msg}


def run_module():
    # Arguments
    module_args = dict(
        directory=dict(type='str', required=True),
        ip=dict(type='str', required=True)
    )

    # Result Dictionary
    result = dict(
        changed=False,
        failed=False,
        message=''
    )

    # Handle Exception
    try:
        # Initialize AnsibleModule
        module = AnsibleModule(
            argument_spec=module_args,
            supports_check_mode=True
        )

        # Get Module Parameters
        dir = module.params['directory']
        ip = module.params['ip']

        # Construct Response Message
        result = check(dir, ip)

        # Return The Response
        module.exit_json(**result)

    except Exception as e:
        # Handle Exception
        result['message'] = str(e)
        module.fail_json(msg=result['message'])

if __name__ == '__main__':
    run_module()

Заранее рассылаю во все стороны флюиды токсичной маскулинности и гендерного абьюза.

 ,

SpaceRanger
()

Хочу гугол пиксель 7

Посоны, поясните по хардкору, почему EU версия стоит ощутимо дороже JP и US? Я знаю, что в японке не отключаемые звуки камеры (пишут, что отключаются относительно легко рутованием и прочим шаманством). Но в чем такая разница между EU и US? US уважаемые западные партнёры могу блокирнуть, а ЕЮ не могут?

Также хотелось бы выяснить, сильно ли я сосну с 128Гб вместо 256? ФОткаю раз в месяц счётчики.

Хочу избавиться от ифона, потому что это такой кал, что я того Кука маму в кино водил. Плюс к тому, все эти санкционные двигули от производителя телефонов меня огорчают. На андроиде хотя бы можно воткнуть альтернативные магазины. К тому же, поговаривают, что по фоточкам ифон отсасывает у пикселя по полной.

Ну и пользовался кто яндекс сплитом? какие подводные?

 ,

SpaceRanger
()

RSS подписка на новые темы