Ответы пользователя по тегу SSH
  • Почему Не получается подключиться к серверу gitlab?

    @mureevms
    22 порт на Gitlab занят для обращения к гит серверу с пользователем git. Там свой ssh сервер.
    Если вы хотите попасть по SSH на сервер, то SSH демон должен слушать любой другой порт, отличный от 22, что и надо настроить отдельно. Коннектиться как ssh ${system_user}@${host} -p ${port}
    Если вы хотите обратиться у репе через гит, то git clone git@gitlab.example.net:group/repo.git

    Вот например на моем гитлаб сервере первый телнет до гит порта, второй до ssh. Как можно видеть, разные версии OpenSSH сервера:
    $ telnet gitlab.example.net 22
    ...
    SSH-2.0-OpenSSH_8.2p1 Ubuntu-4ubuntu0.5
    
    $ telnet gitlab.example.net 2222
    ...
    SSH-2.0-OpenSSH_7.6p1 Ubuntu-4ubuntu0.5
    Ответ написан
  • Как настроить host_key_checking==false, когда прыгаем через хост при помощи ProxyJump?

    @mureevms
    У меня на проекте работало так, строки из инвентори файла:
    bastion_server=x.x.x.x
    ansible_user=user
    ansible_ssh_common_args='-o ProxyCommand="ssh -o StrictHostKeyChecking=accept-new -W %h:%p -q {{ ansible_user }}@{{ bastion_server }}"'
    Ответ написан
    4 комментария
  • Существует SSH клиент со скриптами и кастомизацией GUI?

    @mureevms
    Все-таки ваше желание это таки велосипед. Что вам нужно уже давно придумали. Rundeck к примеру
    Ответ написан
    4 комментария
  • Есть ли простой способ генерации SSH на час?

    @mureevms
    Даже не понимаю, почему все предыдущие комментаторы пишут про ключ, если надо писать про пользователя.
    adduser <username> && sleep 600 && usermod --lock <username>

    или
    adduser <username>
    echo usermod --lock <username> | at now + 60 minutes

    Дольнейшее повышение привелегий делайте как хотите.
    Пример команд взят со стековерфлоу
    Ответ написан
    Комментировать
  • Как составить правило grep?

    @mureevms
    Найти строки с текстом GLOBALS:
    grep -r -n 'GLOBALS' /path
    Тоже, плюс считает количество найденных слов
    grep -r -n 'GLOBALS' /path | wc -w

    Гуглится же за минуту.
    Ответ написан
    1 комментарий
  • Куда копать, когда зависает ssh клиент?

    @mureevms
    Заметил подобное при подключении к любому серверу, если машина с которой происходит подключение, уходит в сон\ждущий режим. Можно еще посмотреть настройки электропитания.
    Ответ написан
  • Какой есть бесплатный терминальный клиент с поддержкой скритов?

    @mureevms
    Откройте для себя Ansible
    Ответ написан
    Комментировать
  • Какие ssh-клиенты вы используете?

    @mureevms
    Под линуксом PAC Manager или только консоль, что не очень удобно.
    Под виндой SuperPutty (он не умеет сохранять пароли) и mRemoteNG (умеет практически все)
    Ответ написан
    4 комментария
  • Как настроить backup VDS на Яндекс.Диск?

    @mureevms
    Предисловие.
    Вы должны смонтировать Ядиск как описано в этой статье в каталог /mnt/yadisk, туда будут копироваться все бэкапы
    Для бэкапа всей системы лучше пользоваться инструментами которые предлагает хостер. Если таких нет или планируется переезд всей системы, то используйте п.1.
    Специально оставляю одну копию каждого бэкапа на VDS для удобства восстановления какого-либо файла.
    Прокомментирую только первый файл, остальные сделаны по подобию.
    Каталоги в /home/backup/... и /mnt/yadisk/... должны быть созданы.
    Скрипт бэкапа разбит на 4 штуки намеренно для удобства использования и запуска по крону с разными временными интервалами, что и надо будет сделать отдельно.
    Так же, советую предварительно перед бэкапом проверять смонтирован ли Ядиск, иначе место может внезапно закончится на сервере. Если интересно, то потом дам ссылку как это сделать.

    Бэкап

    1. Бэкап системы осуществляется при помощи команды tar
    Файл system_backup.sh:
    #!/bin/sh
    TIME=`date +%Y-%m-%d`
    # Что бэкапить
    WHAT=/
    # Куда класть бэкап
    WHERE=/home/backup/system
    # Куда копировать бэкап
    COPY=/mnt/yadisk/system
    # Бэкап системы. Файл бэкапа исключает системные каталоги и каталоги куда кладутся сами бэкапы
    tar -cpzf $WHERE/$TIME.tgz --exclude=/dev --exclude=/proc --exclude=/lost+found --exclude=/home/backup --exclude=/mnt /
    # Скопировать на файл бэкапа на Ядиск 
    cp $WHERE/$TIME.tgz $COPY
    ### Удалить старые файлы бэкапов
    # Оставить на VDS только последний
    find $WHERE -mtime +1 -print -delete
    # Удалить с Ядиска бэкапы месячной давности
    find $COPY -mtime +30 -print -delete


    2. Бэкап конфигов осуществляется так же при помощи команды tar (при текущих исходных данных все конфиги лежат в /etc)
    Файл etc_backup.sh:
    #!/bin/sh
    TIME=`date +%Y-%m-%d-%H:%M`
    WHAT=/etc
    WHERE=/home/backup/etc
    COPY=/mnt/yadisk/etc
    tar -cpzf $WHERE/$TIME.tgz $WHAT
    cp $WHERE/$TIME.tgz $COPY
    find $WHERE -mtime +1 -print -delete
    find $COPY -mtime +30 -print -delete


    3. Бэкап сайтов осуществляется аналогично (предполагаю, что они лежат в /var/www/)
    Файл www_backup.sh:
    #!/bin/sh
    TIME=`date +%Y-%m-%d-%H:%M`
    WHAT=/var/www
    WHERE=/home/backup/www
    COPY=/mnt/yadisk/www
    tar -cpzf $WHERE/$TIME.tgz $WHAT
    cp $WHERE/$TIME.tgz $COPY
    find $WHERE -mtime +1 -print -delete
    find $COPY -mtime +30 -print -delete


    4. Бэкап MySQL осуществляется при помощи команды mysqldump
    Файл mysql_backup.sh
    #!/bin/sh
    TIME=`date +%Y-%m-%d`
    # Логин пользователя мускула
    USER=root
    # Пароль пользователя мускула
    PASS=root_password
    WHERE=/home/backup/mysql
    COPY=/mnt/yadisk/mysql
    ### Базы которые надо бэкапить
    for base in base_name1 base_name2
    do
    # Сделать дамп баз
    mysqldump -u$USER -p$PASS -B $base > $WHERE/$base-$TIME.sql
    done
    cp $WHERE/$base-$TIME.sql $COPY
    find $WHERE -mtime +1 -print -delete
    find $COPY -mtime +30 -print -delete


    Восстановление

    Восстановление сайтов и конфигов осуществляется простым копированием в место назначения.
    Восстановление баз:
    mysql -u root -p root_password -f base_name1 < /home/backup/mysql/base_name1.sql
    mysql -u root -p root_password -f base_name2 < /home/backup/mysql/base_name2.sql


    Восстановление системы более сложный процесс, но суть сводится к одному - сделать чистую установку аналогичной ОС, загрузится с LIVE CD, подмонтировать Ядиск и распаковать архив в root директорию (root директорией называют корень файловой системы - / ), за исключением каталога /boot
    ОБЯЗАТЕЛЬНО заранее проделать восстановление на отдельной виртуалке.

    Вместо послесловия
    Такой бэкап, как говорится, и палкой не убить. Единственное, что надо делать - время от времени руками проверять архивы бэкапов на читаемость и прохождению нормального разархивирования. К сожалению, архивы бывают битыми.
    Ответ написан
    16 комментариев
  • Адекватный менеджер подключений под Linux?

    @mureevms Автор вопроса
    Влад Животнев , Konkase , Владимир и все подписанные.
    Друзья, совершенно неожиданно наткнулся на PAC Manager. Можно скачать отсюда: sourceforge.net/projects/pacmanager В Linux Mint он оказался предустановленным. Видел его раньше, но тогда как-то он меня не впечатлил. В общем, всем ищущим советую как минимум обратить на него внимание. Возможности широкие. Есть недоработки с прокруткой в табе, но решение быстро нагуглилось. Чтобы не искать - www.voip-lab.ru/obzor-pac-manager-pod-linux ближе к концу.

    UPDATE
    На Linux Mint 20 и Ubuntu 20.04 asbru-cm не подключается к серверам по RDP. Летом 2020 года я снова поставил Remmina. Она стала сильно хороша и многие ее недостатки были исправлены. Присмотритесь к ней.
    Ответ написан
    1 комментарий
  • SVN не хочет загружать архив по svn+ssh(не дает права на логин). Кто виноват - я или владелец репозитория?

    @mureevms
    Думаю, что присутствует непонимание с обеих сторон.
    Так и скажите им, что ни разу не работали с такой связкой, попытки подключиться не увенчались успехом и попросите инструкцию по подключению, желательно для виндовс.
    Ответ написан
    Комментировать
  • Как настроить cwRsync для авторизации по public key?

    @mureevms
    Есть подозрение, что:
    1. команда запускается не от того пользователя
    2. Не те пермишнсы на ключах
    Ответ написан