Page_c76a3fcf https://linux-notes.org Unix/ Linux блог, на котором можно найти полезную информацию по настройке ОС и ПО. Sat, 06 Jul 2019 23:42:51 +0000 ru-RU hourly 1 https://wordpress.org/?v=6.7.2 Page_c76a3fcf https://linux-notes.org/ustanovka-pyenv-v-unix-linux/ https://linux-notes.org/ustanovka-pyenv-v-unix-linux/#comments Sat, 06 Jul 2019 23:42:35 +0000 http://linux-notes.org/?p=12753 pyenv - утилита, которая позволяет легко переключаться между несколькими версиями Python которые установлены на хосте. Это очень полезно при разработке ПО, когда имеется несколько разных верий и их нужно поддерживать.

The post Установка pyenv в Unix/Linux first appeared on linux-notes.org.]]>

pyenv — утилита, которая позволяет легко переключаться между несколькими версиями Python которые установлены на хосте. Это очень полезно при разработке ПО, когда имеется несколько разных верий и их нужно поддерживать.

Установка pyenv в Unix/Linux

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

Рекомендуемое чтиво:

Установка virtualenv + virtualenvwrapper в Unix/Linux

И так, начнем установку…

Установка pyenv в CentOS/Fedora/RedHat

Подключаем EPEL репозиторий:

Установка EPEL

Далее, стоит установить следующие пакеты:

# yum install zlib-devel bzip2 bzip2-devel readline-devel sqlite \
sqlite-devel openssl-devel xz xz-devel libffi-devel

Имеется простой скрипт для установки данного ПО, можно использовать:

$ cd /usr/local/src && curl -L https://github.com/pyenv/pyenv-installer/raw/master/bin/pyenv-installer | bash

После установки, стоит настроить и потом, можно будет юзать данную тулу.

Установка pyenv в Debian/Ubuntu

Стоит установить следующие пакеты:

# apt-get install -y make build-essential libssl-dev zlib1g-dev \
libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev \
libncursesw5-dev xz-utils tk-dev libffi-dev liblzma-dev python-openssl

Имеется простой скрипт для установки данного ПО, можно использовать:

$ cd /usr/local/src && curl -L https://github.com/pyenv/pyenv-installer/raw/master/bin/pyenv-installer | bash

После установки, стоит настроить и потом, можно будет юзать данную тулу.

Установка pyenv в MacOS

Ставим homebrew, статью можно взять тут:

Установка homebrew на Mac OS X

Выполним поиск пакета:

$ brew search pyenv

Чтобы поставить данное ПО, выполняем:

$ brew install pyenv

Перейдем к настройке.

Настройка pyenv в Unix/Linux

Открываем файл:

$ vim  ~/.bashrc

Прописываем:

export PYENV_ROOT="${HOME}/.pyenv"

if [ -d "${PYENV_ROOT}" ]; then
    export PATH="${PYENV_ROOT}/bin:${PATH}"
    eval "$(pyenv init -)"
    eval "$(pyenv virtualenv-init -)"
fi

Просто добавьте этот код в конец вашего ~/ .bashrc и затем загрузите ваш профиль, чтобы загрузить эти дополнения:

Для RPM’s ОС:

$ source ~/.bash_profile

Или:

$ . ~/.bash_profile

Для DEB’s ОС:

$ source ~/.profile

Для MacOS:

$ source ~/.bash_profile

Можно уже юзать!

Использование pyenv в Unix/Linux

Для того, чтобы посмотреть какие версии python используется на данный момент, имеется команда:

$ pyenv install -l

Для установки какой-либо версии, используем:

$ pyenv install 2.7.16 && \
  pyenv install 3.5.7

Смотрим что имеется в системе:

$ pyenv versions
* system
  2.7.16
  3.5.7

Чтобы переключится на нужную версию, используем:

$ pyenv local 2.7.16

Так же, можно будет использовать:

$ pyenv local some_project

Я пока что буду использовать:

$ pyenv local 2.7.16 3.5.7

Для глобального использования, можно выставить тоже нужную(ые) версию(и):

$ pyenv global 3.5.7 2.7.16

Можно выставить конкретную версию питона для shell оболочки, например:

$ pyenv shell 3.5.7

Как это выглядит на картинке:

Создадим песочницу:

$ pyenv virtualenv -p python2.7 2.7.16 my_project-with-2.7.16

Или:

$ pyenv virtualenv 2.7.16 my_project-with-2.7.16

Смотрим песочницы:

$ pyenv virtualenvs

Сейчас, я выставлю нужные мне версии:

$ pyenv local my_project-with-2.7.16 3.5.7

Смотрим версию питона:

$ python -V
Python 2.7.16

Смотрим где находится питон:

$ which python
/Users/captain/.pyenv/shims/python

И:

$ pyenv which python
/Users/captain/.pyenv/versions/my_project-with-2.7.16/bin/python

Для получения списка команд, множно использовать:

$ pyenv commands
--version
activate
commands
completions
deactivate
exec
global
help
hooks
init
install
local
prefix
realpath.dylib
rehash
root
shell
shims
uninstall
version
version-file
version-file-read
version-file-write
version-name
version-origin
versions
virtualenv
virtualenv-delete
virtualenv-init
virtualenv-prefix
virtualenvs
virtualenvwrapper
virtualenvwrapper_lazy
whence
which

Получить помощь можно так:

$ pyenv --help
Usage: pyenv <command> [<args>]

Some useful pyenv commands are:
   commands    List all available pyenv commands
   local       Set or show the local application-specific Python version
   global      Set or show the global Python version
   shell       Set or show the shell-specific Python version
   install     Install a Python version using python-build
   uninstall   Uninstall a specific Python version
   rehash      Rehash pyenv shims (run this after installing executables)
   version     Show the current Python version and its origin
   versions    List all Python versions available to pyenv
   which       Display the full path to an executable
   whence      List all Python versions that contain the given executable

See `pyenv help <command>' for information on a specific command.
For full documentation, see: https://github.com/pyenv/pyenv#readme

Или, для какой-то конкретной команды:

$ pyenv activate --help
Usage: pyenv activate <virtualenv>
       pyenv activate --unset

Activate a Python virtualenv environment in current shell.
This acts almost as same as `pyenv shell`, but this invokes the `activate`
script in your shell.

<virtualenv> should be a string matching a Python version known to pyenv.

Т.е для активации созданной среды, используем:

$ pyenv activate my_project-with-2.7.16

Для диактивации, следующая команда:

$ pyenv deactivate

Для удаления версии питона с ОС, используем:

$ pyenv uninstall 2.7.16

Для обновления pyenv, имеется конманда:

$ pyenv update

Для удаления, используйте:

$ rm -rf $PYENV_ROOT

ЗАМЕЧАНИЕ: По умолчанию, $PYENV_ROOT — ~/.pyenv.

Так же, стоит удалить следующие строки с ~/.bashrc:

export PATH="$HOME/.pyenv/bin:$PATH"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"

Вот и все, статья «Установка pyenv в Unix/Linux» завершена.

The post Установка pyenv в Unix/Linux first appeared on linux-notes.org.]]>
https://linux-notes.org/ustanovka-pyenv-v-unix-linux/feed/ 1
Page_c76a3fcf https://linux-notes.org/ustanovka-smem-dlya-proverki-swap-aktivnosti-v-unix-linux/ https://linux-notes.org/ustanovka-smem-dlya-proverki-swap-aktivnosti-v-unix-linux/#respond Wed, 22 Feb 2017 20:42:02 +0000 http://linux-notes.org/?p=11914 Установка smem для проверки RAM/SWAP активности в Unix/Linux Smem — утилита, которая показывает довольно много полезной информации о взаимодействии RAM, SWAP, USS, RSS по каждому процессу, процессу по пользователю. В отличие от существующих инструментов, smem может показывать пропорциональный размер памяти (PSS), который показывает более значимое представление о использовании памяти приложений и библиотек в настройках виртуальной памяти. […]

The post Установка smem для проверки RAM/SWAP активности в Unix/Linux first appeared on linux-notes.org.]]>

Установка smem для проверки RAM/SWAP активности в Unix/Linux

Smem — утилита, которая показывает довольно много полезной информации о взаимодействии RAM, SWAP, USS, RSS по каждому процессу, процессу по пользователю.

В отличие от существующих инструментов, smem может показывать пропорциональный размер памяти (PSS), который показывает более значимое представление о использовании памяти приложений и библиотек в настройках виртуальной памяти.

Установка smem для проверки RAM/SWAP активности в Unix/Linux

И так, приступим к установке данной утилиты. Я приведу пример установки для некоторых Unix/Linux ОС.

Установка smem для проверки SWAP активности в Debian/Ubuntu/Kali/Mint

Установка очень простая, просто выполните команду:

$ sudo apt-get install smem -y

Очень изи, да?)

PS: Чтобы строить графики, нужно установить:

# apt-get install python-matplotlib

Установка smem для проверки SWAP активности в RHEL/CentOS/Fedora

Для установки, используйте:

# yum install smem -y

Как-то так.

PS: Чтобы строить графики, нужно установить:

# yum install python-matplotlib python-tk -y

Установка smem для проверки SWAP активности в других Unix/Linux ОС

Если не имеется пакета с smem утилитой, то его можно собрать или скомпилировать. Скачиваем исходный код:

$ cd /usr/local/src && wget https://www.selenic.com/smem/download/smem-1.4.tar.gz && tar xvf smem-*tar.gz

Скопируем утилиту:

# cd smem-* && cp smem  /usr/local/bin/

Выставляем права:

# chmod +x /usr/local/bin/smem

Перейдем к использованию.

Использование smem для проверки SWAP активности в Unix/Linux

Простое использование:

# smem

Вывод:

 PID User     Command                         Swap      USS      PSS      RSS
  210 root     /sbin/agetty --noclear --ke        0      116      116      120
  218 root     /sbin/agetty --noclear tty2        0      124      124      128
79084 avahi    avahi-daemon: chroot helpe         0      100      168      236
123086 varnishlog /usr/bin/varnishncsa -a -w         0      180      208      272
122819 root     varnishncsa -a -w /var/log/        0      184      212      276
123017 varnishlog /usr/bin/varnishlog -a -w /        0      200      214      264
79298 root     /usr/sbin/atd -f                   0      220      220      236
39071 nagios   /usr/local/nagios/bin/nagio        0      268      300      536
39072 nagios   /usr/local/nagios/bin/nagio        0      272      304      540
39070 nagios   /usr/local/nagios/bin/nagio        0      276      308      544
39073 nagios   /usr/local/nagios/bin/nagio        0      276      308      544
39074 nagios   /usr/local/nagios/bin/nagio        0      276      308      544
39075 nagios   /usr/local/nagios/bin/nagio        0      276      308      544
39085 nagios   /usr/local/nagios/bin/nagio        0      268      314      372
162672 nginx    /usr/local/sbin/fcgiwrap           0      328      340      424
66064 root     /usr/lib/systemd/systemd-ud        0      392      392      396
79083 avahi    avahi-daemon: running [capt        0      348      417      568
79194 rpc      /sbin/rpcbind -w                   0      548      548      564
36783 root     /bin/sh /usr/bin/mysqld_saf        0      324      625     1564
79225 memcached /usr/bin/memcached -u memca        0      664      668      688
65954 root     /usr/sbin/crond -n                 0      708      715     1008
37204 root     /usr/sbin/sshd                     0      856      903     1340

Посмотреть какая библиотека что использует:

# smem -m


Map                                       PIDs   AVGPSS      PSS
(deleted)/etc/udev/hwdb.bin                  1        0        0
/run/systemd/journal/kernel-seqnum           1        0        0
/usr/lib64/gconv/gconv-modules.cache        44        0        0
/usr/lib64/libICE.so.6.3.0                  48        0        0
/usr/lib64/libMagickWand.so.5.0.0           48        0        0
/usr/lib64/libSM.so.6.0.1                   48        0        0
/usr/lib64/libX11-xcb.so.1.0.0              48        0        0

Посмотреть какой пользователь, что и сколько использует:

# smem -u


User     Count     Swap      USS      PSS      RSS
varnishlog     2        0      380      422      536
rpc          1        0      548      548      564
avahi        2        0      448      585      804
memcached     1        0      664      668      688
dbus         1        0      868      994     1216
nagios      13        0    25908    28958    89268
nginx        6        0    39460    44566    70816
root        17        0   115516   119300   152516
mysql        1        0   506100   506500   508244
www         42        0  1172120  1280634  5078252

Чтобы отфильтровать вывод по имени процесса, используйте «-P» или ‘—processfilter=»regex»‘ опцию:

$ sudo smem --processfilter="mysql"

  PID User     Command                         Swap      USS      PSS      RSS
36783 root     /bin/sh /usr/bin/mysqld_saf        0      324      625     1564
73198 root     python /usr/bin/smem --proc        0     7172     7239     8048
37097 mysql    /usr/sbin/mysqld --basedir=        0   508160   508560   510304

Или:

# smem -m -p | grep mysql

Чтобы показать необходимые столбцы, используйте «-c» или «—columns» опцию:

$ sudo smem -c "name user pss rss"

Есть много вариантов вызовов smem, например — для просмотра потребления памяти в системе, выполните следующую команду:

# smem -w

Показать отчет об использованной памяти в процентах:

$ sudo smem -p

Опция «-t» покажет общее количество задействованой памяти:

$ sudo smem -t

Комбинированный вывод:

# smem -t -p


 PID User     Command                         Swap      USS      PSS      RSS 
 3245 root     /usr/sbin/rpc.idmapd           0.02%    0.00%    0.00%    0.13% 
 3111 root     /usr/sbin/vmware-vmblock-fu    0.06%    0.00%    0.00%    0.13% 
 3231 statd    /sbin/rpc.statd                0.06%    0.00%    0.01%    0.22% 
 3255 daemon   /usr/sbin/atd -f               0.02%    0.00%    0.01%    0.18% 
 3286 root     /usr/sbin/acpid                0.01%    0.01%    0.01%    0.15% 
 3301 root     /usr/sbin/minissdpd -i 0.0.    0.01%    0.01%    0.01%    0.11% 
 3222 root     /sbin/rpcbind -w               0.04%    0.01%    0.01%    0.22% 
 3266 avahi    avahi-daemon: chroot helpe     0.02%    0.00%    0.01%    0.13% 
 3254 root     /usr/sbin/cron -f              0.02%    0.01%    0.02%    0.25% 
 4102 captain  /bin/cat                       0.00%    0.01%    0.02%    0.17% 
 4375 captain  gnome-pty-helper               0.00%    0.02%    0.02%    0.17% 
 3338 root     /sbin/agetty --noclear tty1    0.00%    0.02%    0.02%    0.18% 
 3154 root     /usr/lib/vmware-vgauth/VGAu    0.33%    0.00%    0.02%    0.41% 
 3960 captain  /bin/sh /usr/bin/start-puls    0.00%    0.02%    0.02%    0.10% 
 3769 rtkit    /usr/lib/rtkit/rtkit-daemon    0.00%    0.03%    0.03%    0.24% 
 3902 captain  /usr/bin/dbus-launch --exit    0.00%    0.03%    0.03%    0.18% 
 3961 captain  /usr/bin/xprop -root -spy      0.00%    0.03%    0.03%    0.22% 
 3899 captain  /usr/bin/ssh-agent /usr/bin    0.00%    0.04%    0.04%    0.08% 
 3284 root     /usr/sbin/cups-browsed         0.07%    0.02%    0.04%    0.52% 
 3258 avahi    avahi-daemon: running [debi    0.01%    0.03%    0.05%    0.27% 
 3622 root     tpvmlpd2                       0.00%    0.04%    0.05%    0.29% 
 3275 root     /lib/systemd/systemd-logind    0.02%    0.06%    0.06%    0.27% 
 5787 captain  /usr/lib/dconf/dconf-servic    0.00%    0.06%    0.06%    0.45% 
 3910 captain  /usr/bin/dbus-daemon --conf    0.00%    0.05%    0.06%    0.34% 
 4386 root     su -                           0.00%    0.04%    0.07%    0.34% 

Более того, есть опции для вывода информации в графическом моде. Вы можете произвести гистограмму процессов и их PSS и RSS значений. Например, покажем гистограмму процессов, находящихся в использовании root пользователя.

Вертикальная плоскость показывает PSS и RSS измерение процессов и горизонтальная плоскость представляет каждый пользовательский процесс:

$ sudo smem --userfilter="root" --bar pid -c"pss rss"

И получим:

smem в графическом использовании

Вы также можете использовать круговую диаграмму, показывающую процессы и их потребление памяти, основанные на PSS или RSS значениях.

Опция «—pie» назначает имя диаграмы и «-s»  опция помогает сортировать по PSS значению:

$ sudo smem --userfilter="root" --pie name -s pss

Для получения полного списка команд, используйте:

# smem --help

Или:

# smem -h

Довольно простая утилита для проверки swap активности в Unix/Linux.

The post Установка smem для проверки RAM/SWAP активности в Unix/Linux first appeared on linux-notes.org.]]>
https://linux-notes.org/ustanovka-smem-dlya-proverki-swap-aktivnosti-v-unix-linux/feed/ 0
Page_c76a3fcf https://linux-notes.org/ustanovka-ps_mem-dlya-proverki-zanyatoj-pamyati-protsessami-v-unix-linux/ https://linux-notes.org/ustanovka-ps_mem-dlya-proverki-zanyatoj-pamyati-protsessami-v-unix-linux/#respond Sun, 19 Feb 2017 01:04:59 +0000 http://linux-notes.org/?p=9215 Установка ps_mem для проверки занятой памяти процессами в Unix/Linux При настройке php-fpm, nginx, apache нужно знать сколько памяти используется. И с ps_mem утилитой, можно узнать некоторую полезную информацию (какое количество памяти занято процессами). Тулза написанная на Python. Установка ps_mem для проверки занятой памяти процессами в Unix/Linux Расскажу как можно установить данную утилиту на различные Unix/Linux ОС. Установка […]

The post Установка ps_mem для проверки занятой памяти процессами в Unix/Linux first appeared on linux-notes.org.]]>

Установка ps_mem для проверки занятой памяти процессами в Unix/Linux

При настройке php-fpm, nginx, apache нужно знать сколько памяти используется. И с ps_mem утилитой, можно узнать некоторую полезную информацию (какое количество памяти занято процессами). Тулза написанная на Python.

Установка ps_mem для проверки занятой памяти процессами в Unix/Linux

Расскажу как можно установить данную утилиту на различные Unix/Linux ОС.

Установка ps_mem для проверки занятой памяти процессами в CentOS/Fedora/RedHat

Установка очень простая:

# yum install ps_mem -y

Установка ps_mem для проверки занятой памяти процессами в других Unix/Linux ОС

Выполняем:

# cd /usr/local/src && wget http://linux-notes.org/wp-content/uploads/python/ps_mem.py && mv ps_mem.py /usr/local/sbin/ps_mem && chmod 755 /usr/local/sbin/ps_mem

Или через «pip» установщик:

# pip install ps_mem

Использование ps_mem для проверки занятой памяти процессами в Unix/Linux

Некоторые полезные опции:

  • -w N – Ключ позволяет запустить  утилиту через N секунд;
  • -p – Ключ позволяет выводить информацию только по указанном PID-у (можно использовать несколько PID-ов, но использую разделитель — запятая);
  • -s – Ключ который позволяет выводить команду полностью, а не только имя процесса.

Мне хватает запуска:

# ps_mem 
 Private  +   Shared  =  RAM used	Program 

200.0 KiB +  36.0 KiB = 236.0 KiB	varnishlog
220.0 KiB +  31.0 KiB = 251.0 KiB	atd
240.0 KiB +  24.0 KiB = 264.0 KiB	agetty (2)
328.0 KiB +  63.0 KiB = 391.0 KiB	fcgiwrap
392.0 KiB +  39.5 KiB = 431.5 KiB	systemd-udevd
364.0 KiB + 100.0 KiB = 464.0 KiB	varnishncsa (2)
548.0 KiB +  69.0 KiB = 617.0 KiB	rpcbind
448.0 KiB + 201.0 KiB = 649.0 KiB	avahi-daemon (2)
328.0 KiB + 337.0 KiB = 665.0 KiB	mysqld_safe
664.0 KiB +  41.0 KiB = 705.0 KiB	memcached
712.0 KiB +  35.5 KiB = 747.5 KiB	crond
780.0 KiB + 346.5 KiB =   1.1 MiB	bash
  1.0 MiB + 157.0 KiB =   1.2 MiB	dbus-daemon
  1.2 MiB + 152.5 KiB =   1.4 MiB	systemd-logind
  2.3 MiB +  76.5 KiB =   2.4 MiB	systemd
  2.1 MiB + 662.0 KiB =   2.8 MiB	sshd (2)
 10.2 MiB +   3.7 MiB =  13.9 MiB	systemd-journald
 16.2 MiB + 527.5 KiB =  16.8 MiB	nagios (8)
 32.0 MiB +   5.8 MiB =  37.9 MiB	nginx (6)
 82.3 MiB + 299.0 KiB =  82.6 MiB	snmpd
180.5 MiB + 421.5 KiB = 180.9 MiB	mysqld
894.0 MiB + 107.9 MiB =   1.0 GiB	php-fpm (41)
---------------------------------
                          1.3 GiB
=================================

Утилита очень помогает при настройке php-fpm, apache, nginx. У меня все, статья «Установка ps_mem для проверки занятой памяти процессами в Unix/Linux» завершена.

The post Установка ps_mem для проверки занятой памяти процессами в Unix/Linux first appeared on linux-notes.org.]]>
https://linux-notes.org/ustanovka-ps_mem-dlya-proverki-zanyatoj-pamyati-protsessami-v-unix-linux/feed/ 0
Page_c76a3fcf https://linux-notes.org/primery-ispol-zovaniya-openssl-v-unix-linux/ https://linux-notes.org/primery-ispol-zovaniya-openssl-v-unix-linux/#respond Sun, 20 Nov 2016 10:44:38 +0000 http://linux-notes.org/?p=9560 Примеры использования OpenSSL в Unix/Linux При работе с SSL, нужно уметь работать с утилитой OpenSSL чтобы создавать, конвертировать, управляют SSL-сертификатами. В этой статье «Примеры использования OpenSSL в Unix/Linux» я буду говорить о примерах использования OpenSSL. Некоторые из сокращений, связанных с сертификатами: SSL – Secure Socket Layer (Безопасный уровень сокета). CSR – Certificate Signing Request (Запрос […]

The post Примеры использования OpenSSL в Unix/Linux first appeared on linux-notes.org.]]>

Примеры использования OpenSSL в Unix/Linux

При работе с SSL, нужно уметь работать с утилитой OpenSSL чтобы создавать, конвертировать, управляют SSL-сертификатами. В этой статье «Примеры использования OpenSSL в Unix/Linux» я буду говорить о примерах использования OpenSSL.

Некоторые из сокращений, связанных с сертификатами:

  • SSL – Secure Socket Layer (Безопасный уровень сокета).
  • CSR – Certificate Signing Request (Запрос на подпись сертификата).
  • TLS – Transport Layer Security (Транспортный уровень безопастности).
  • PEM – Privacy Enhanced Mail
  • DER – Distinguished Encoding Rules
  • SHA – Secure Hash Algorithm (Безопасный hash алгорит).
  • PKCS – Public-Key Cryptography Standards (Стандарты шифрования публичных ключей).

Создание нового приватного ключа (Private Key) и Certificate Signing Request (CSR).

Выполняем команду:

# openssl req -out linux-notes.org.csr -newkey rsa:2048 -nodes -keyout linux-notes.org.key

Команда выше будет генерировать CSR и 2048-битный RSA ключ. Если вы собираетесь использовать этот сертификат в Apache или Nginx, то вам необходимо отправить этот CSR файл в службу сертификации и они дадут вам подписанный сертификат в «der» или «pem» формате. После чего вы настроите его на веб-сервере Apache или Nginx.

Так же, можно использовать такой вариант:

$ openssl req -new -newkey rsa:2048 -nodes -out linux-notes.org.csr -keyout linux-notes.org.key -subj "/C=US/ST=Wisconsin/L=Waukesha/O=IT Dept/OU=Linux Notes/CN=linux-notes.org"

Создание самоподписанного сертификата (Self-Signed Certificate).

Выполняем команду:

# openssl req -x509 -sha256 -nodes -newkey rsa:2048 -keyout LN-selfsigned.key -out LN-cert.pem

Команда выше будет генерировать самоподписанный сертификат (self-signed) и 2048-битный RSA ключ. Я также использую алгорит шифрования — SHA256. Так как он считается наиболее безопасным в данный момент.

Замечание: По умолчанию, будет сгенерирован ключ толкьо на 1 месяц, если нужно создать на более длительное время — используйте опцию «–days», пример использования ниже.

Пример: Чтобы создать self-signed сертификат на 2 год, используйте:

# openssl req -x509 -sha256 -nodes -days 730 -newkey rsa:2048 -keyout LN-selfsigned.key -out LN-cert.pem

Проверка CSR файла.

Выполням проверку:

# openssl req -noout -text -in linux-notes.org.csr

и вы получите информацию.

Проверка подписи (signature):

$ openssl req -in linux-notes.org.csr -noout -verify

Кем(кому) был выдан сертификат:

$ openssl req -inlinux-notes.org.csr -noout -subject

Показать открытый ключ (public key):

$ openssl req -inlinux-notes.org.csr -noout -pubkey

Создать приватный RSA  ключ (Private Key).

Чтобы это сделать, выполните:

# openssl genrsa -out my_private_rsa.key 2048

Если вам просто нужно генерировать RSA закрытый ключ, вы можете использовать команду что выше. Я включил 2048 шифрование, для безопастности.

Удалить ключевую фразу (Passphrase) с ключа.

# openssl rsa -in linux-notes.org.key -check -out nopassphrase.key

Если вы установили ключевую фразу для ключа, то при каждом старте веб-сервера (Apache/Nginx) вы должны будите вводить пароль. Если это вас злит, вы можете с легкостью удалить  passphrase с RSA ключа.

Проверка приватного ключа (Private Key)

# openssl rsa -in my_private.key -check

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

Проверка сертификата (Certificate).

Если вы хотите проверить данные сертификата( CN, OU, и т.д.), то вы можете использовать команду, которая даст вам сведения о сертификате:

# openssl x509 -in certfile.pem -text –noout

Команда довольна простая в использовании.

Проверка подписанного сертификата (Certificate Signer Authority).

# openssl x509 -in some_cert.pem -noout -issuer -issuer_hash

Можно узнать много полезного.

Создать тестовый SSL сервер.

Команда OpenSSL s_server реализует общий SSL/TLS-сервер. Она должна использоваться только для целей тестирования. В приведенном ниже примере данный сервер прослушивает соединения на порту 8080 и возвращает отформатированную HTML страницу статуса, который включает много информации о ciphers:

$ openssl s_server -key key.pem -cert cert.pem -accept 8080 -www

Проверить хеш вашего сертификата.

# openssl x509 -noout -hash -in my_cert.pem

Конвертирование сертификатов с DER в PEM формат.

# openssl x509 -inform der -in LN.der -out LN.pem

Как правило, при покупке SSL сертификатов, его отдают вам в формате .der и если вам нужно использовать его в веб-сервере или .pem формате, вы можете использовать команду выше, чтобы преобразовать такие сертификаты.

Конвертирование сертификатов с PEM в DER формат.

В случае, если вам необходимо изменить .pem формат в .der:

# openssl x509 -outform der -in linux-notes.pem -out linux-notes.der

Конвертирование CSR c DER в PEM формат.

$ openssl req -in csr.der -inform DER -out csr.pem -outform PEM

Конвертирование сертификата и приватного ключа  в PKCS#12 фотмат.

# openssl pkcs12 –export –out sslcert.pfx –inkey key.pem –in sslcert.pem

Если вам необходимо использовать сертификат с приложением Java или с любым другим, кто принимает формат PKCS# 12.

Совет: Вы можете включить «chain certificate» используя «-chain» опцию:

# openssl pkcs12 -export -out my_cert.pfx -inkey my_key.pem -in your_cert.pem -chain the_cert.pem

Создание CSR используя  приватный ключ (private key).

# openssl req -out some_cert.csr -key exists.key -new

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

Проверьте содержимое сертификата в PKCS12 формате.

# openssl pkcs12 -info -nodes -in my_certificate.p12

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

Конвертирование PKCS12 формата в PEM сертификат.

# openssl pkcs12 -in my_certificat.p12 -out the_certificat.pem

Получить SHA-1 отпечаток сертификата или CSR

Чтобы получить отпечаток SHA1 сертификата с использованием OpenSSL, используйте команду, приведенную ниже:

$ openssl dgst -sha1 my_cert.der

Чтобы получить SHA1 отпечаток пальца CSR с использованием OpenSSL, используйте команду, приведенную ниже:

$ openssl dgst -sha1 the_csr.der

Получить MD5 отпечаток сертификата или CSR

Чтобы получить отпечаток MD5 сертификата с использованием OpenSSL, используйте команду, приведенную ниже:

$ openssl dgst -md5 cert.der

Чтобы получить MD5 отпечаток пальца CSR с использованием OpenSSL, используйте команду, приведенную ниже:

$ openssl dgst -md5 my_csr.der

Тестирование SSL сертификата по URL.

# openssl s_client -connect linux-notes.org:443 -showcerts

Я использую это довольно часто для проверки SSL-сертификатов по URL с сервера. Это очень удобно для проверки некоторых деталей протокола, шифров и CERT.

Узнать версию OpenSSL

 # openssl version

Поверка PEM сертификата на завершение (Expiration Date).

# openssl x509 -noout -in cert.pem -dates

Пример:

# openssl x509 -noout -in bestflare.pem -dates
notBefore=Jul 4 14:02:45 2015 GMT
notAfter=Aug 4 09:46:42 2015 GMT

Проверка завершения SSL сертификата (Expiration Date) по URL.

# openssl s_client -connect linux-notes.org:443 2>/dev/null | openssl x509 -noout -enddate

Проверить поддержку SSL версии V2/V3  по URL.

Проверка SSL версии V2:

# openssl s_client -connect linux-notes.org:443 -ssl2

Проверка SSL версии V3:

# openssl s_client -connect linux-notes.org:443 -ssl3

Проверка TLS 1.0:

# openssl s_client -connect linux-notes.org:443 -tls1

Проверка TLS 1.1:

# openssl s_client -connect linux-notes.org:443 -tls1_1

Проверка TLS 1.2:

# openssl s_client -connect linux-notes.org:443 -tls1_2

Проверка поддержки cipher для сайта по URL.

# openssl s_client -cipher 'ECDHE-ECDSA-AES256-SHA' -connect linux-notes.org:443

Какой алгоритм используется в сертификате (проверка).

$ openssl req -noout -text -in mycert.csr | grep 'Signature Algorithm'

Или, используя URL:

openssl s_client -connect linux-notes.org:443 < /dev/null 2>/dev/null | openssl x509 -text -in /dev/stdin | grep "Signature Algorithm"

Получить сертификат по URL

Команда что ниже, сохранит сертификат в файл прямо по URL сайта:

$ echo -n | openssl s_client -connect linux-notes.org:443 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > pem.cert

Если веб-сервер имеет несколько сертификатов на один IP-адрес, то вам нужно будет сообщить OpenSSL, какой сертификат будет использоваться, пример ниже:

$ echo -n | openssl s_client -connect linux-notes.org:443 -servername linux-notes.org | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > pem.cert

Вот и все, много полезностей и все в одной статье «Примеры использования OpenSSL в Unix/Linux».

The post Примеры использования OpenSSL в Unix/Linux first appeared on linux-notes.org.]]>
https://linux-notes.org/primery-ispol-zovaniya-openssl-v-unix-linux/feed/ 0
Page_c76a3fcf https://linux-notes.org/bezopasny-j-ssh-s-google-authenticator-v-unix-linux/ https://linux-notes.org/bezopasny-j-ssh-s-google-authenticator-v-unix-linux/#comments Thu, 17 Dec 2015 22:13:44 +0000 http://linux-notes.org/?p=7072 Безопасный SSH с Google Authenticator в Unix/Linux Google Authenticator обеспечивает новый уровень безопасности от хакеров для SSH сервера. В этой статье «Безопасный SSH с Google Authenticator в Unix/Linux» я расскажу как установить и настройить Google Authenticator чтобы защитить свой SSH сервер с двухфакторной аутентификацией с использованием модуля Google Authenticator PAM. С этим модулем вы должны будите сгенерировать код, используя […]

The post Безопасный SSH с Google Authenticator в Unix/Linux first appeared on linux-notes.org.]]>

Безопасный SSH с Google Authenticator в Unix/Linux

Google Authenticator обеспечивает новый уровень безопасности от хакеров для SSH сервера. В этой статье «Безопасный SSH с Google Authenticator в Unix/Linux» я расскажу как установить и настройить Google Authenticator чтобы защитить свой SSH сервер с двухфакторной аутентификацией с использованием модуля Google Authenticator PAM. С этим модулем вы должны будите сгенерировать код, используя ваш телефон или другие устройства чтобы войти на сервер через SSH.

Хотите защитить SSH сервер с двухфакторной аутентификацией? Google предоставляет необходимое программное обеспечение для интеграции Google Authenticator на основе одноразового пароля (TOTP) с SSH сервером. Вы должны ввести код с вашего телефона при подключении.

Безопасный SSH с Google Authenticator в Debian/Ubuntu

Для deb-‘s операционных систем, имеется готовый пакет, его нужно просто установить.

Установка Google Authenticator.

Для установки пакета Google Authenticator в Debian или Ubuntu, выполните следующую команду:

# apt-get install libpam-google-authenticator

После этого, переходим к настройке и активации данного модуля.

Безопасный SSH с Google Authenticator в RedHat/Fedora/CentOS

Вот следующие шаги по установки и настройки Google Authenticator в RedHat/Fedora/CentOS

Шаг 1: Добавления репозитория. 

Во-первых, необходимо добавить репозиторий RPMForge или EPEL, если не знаете как, то можно прочитать статью тут:

Установка RPMForge репозитория в RHEL / CentOS

Как включить EPEL репозиторий

Шаг 2: Установка Google Authenticator.

Чтобы установить Google authenticator используйте следующую команду:

# yum install google-authenticator

Безопасный SSH с Google Authenticator с исходного кода.

На самом деле, Google Authenticator является системой с полностью открытым исходным кодом. Вы можете скачать его тут:

# cd /usr/local/src && git clone https://github.com/google/google-authenticator.git

Для этого нужно иметь git.

# cd google-authenticator

Выполняем сборку:

# make && make install

Скопируем библиотеки в нужное место:

# cp pam_google_authenticator.so /lib64/security
# cp google-authenticator /usr/local/bin

Настройка безопасного входа через SSH с Google Authenticator в Unix/Linux

Я использую тестовый аккаунт (пользователь captain) для тестирования:

# su - captain

Запускаем google-authenticator:

$ google-authenticator

https://www.google.com/chart?chs=200x200&chld=M|0&cht=qr&chl=otpauth://totp/captain@localhost.localdomain%3Fsecret%3DJ4CZKJKMHQYRVPJJ
Your new secret key is: J4CZKJKMHQYRVPJJ
Your verification code is 477729
Your emergency scratch codes are:
 87179898
 49162509
 72309780
 62379946
 13687735

Do you want me to update your "~/.google_authenticator" file (y/n) y

Do you want to disallow multiple uses of the same authentication
token? This restricts you to one login about every 30s, but it increases
your chances to notice or even prevent man-in-the-middle attacks (y/n) y

By default, tokens are good for 30 seconds and in order to compensate for
possible time-skew between the client and the server, we allow an extra
token before and after the current time. If you experience problems with poor
time synchronization, you can increase the window from its default
size of 1:30min to about 4min. Do you want to do so (y/n) y

If the computer that you are logging into isn't hardened against brute-force
login attempts, you can enable rate-limiting for the authentication module.
By default, this limits attackers to no more than 3 login attempts every 30s.
Do you want to enable rate-limiting (y/n) y

Google Authenticator покажет вам секретный ключ и много «аварийных скретч-кодов». Аварийные коды могут быть использованы только один раз в случае, если вы потеряли секретный ключ, поэтому держите их в безопасном месте.

Используйте Google Authenticator приложения для вашего девайса (Android, iPhone или Blackberry) для того чтобы сгенерировать проверочной код, нужно ввести секретный ключ:

 Вы также можете сканировать штрих-код, предоставляемый по URL, у меня это:

https://www.google.com/chart?chs=200×200&chld=M|0&cht=qr&chl=otpauth://totp/captain@localhost.localdomain%3Fsecret%3DJ4CZKJKMHQYRVPJJ

Вы также можете использовать приложения, основанные на Java для генерация кодов проверки:

# cd /usr/local/src && wget http://www.jcuff.net/files/Authenticator.tgz && tar zxfv Authenticator.tgz

Компилируем утилиту:

~/auth$ javac -cp ./ Authenticator/*.java

Выполните (в папке auth, домашней папки локального пользователя):

~/auth$ java -classpath ./ Authenticator.Main /home/jcuff/.google_authenticator

Пример:

Authenticator Started!
:----------------------------:--------:
: Code Wait Time : Code :
:----------------------------:--------:
+++++++++++++++++++++++++++++: 977773 :
..............+++++++++++++++: 500007 :
.............................: 176547 :
.............................: 543540 :
^C
~/auth$

Выбор за вами, но с мобильными девайсами проблем меньше.

Активация Google authenticator

Для того чтобы активировать google authenticator, нужно добавить в конфигурационный файл:

# vim /etc/pam.d/sshd

Строку что ниже:

# auth required pam_google_authenticator.so

Должно выглядеть вот так:

required pam_google_authenticatorЭто позволит активировать Google authentication для входа в ssh. После чего, открываем конфигурационный файл SSH b добавим изменения:

# vim /etc/ssh/sshd_config

И приводим к виду:

[...]
ChallengeResponseAuthentication yes
[...]
PasswordAuthentication yes
[...]
UsePAM yes
[...]

И последнее, перезапустим службу SSH в CentOS/Fedora/RedHat:

# service sshd restart

И последнее, перезапустим службу SSH в Debian/Ubuntu:

# service ssh restart

Чтобы убедиться что все работает, можно проверить лог-файл:

# tail -f /var/log/secure

PS: Примите во внимание что SELinux должен быть выключен, и как это сделать, можно прочитать статью тут:

Как отключить SELinux на CentOS

Вот пример лога:

Dec 17 19:12:42 localhost sshd[13057]: Server listening on 0.0.0.0 port 22.
Dec 17 19:12:42 localhost sshd[13057]: Server listening on :: port 22.
Dec 17 19:38:26 localhost su: pam_unix(su-l:session): session opened for user root by captain(uid=500)

Пропустить  Google Authenticator авторизацию если подключение с локальной сети.

Вы можете добавить IP вашей локальной сети чтобы опустить SSH соединения с использованием Google Authenticator. Если это так, изменим:

# vim /etc/pam.d/sshd

Прописываем:

auth [success=1 default=ignore] pam_access.so accessfile=/etc/security/access-local.conf
auth required pam_google_authenticator.so

Затем, открываем:

# vim /etc/security/access-local.conf

Добавляем следующие строки:

# Google Authenticator can be skipped on local network
+ : ALL : 192.168.0.0/24
+ : ALL : LOCAL
- : ALL : ALL

Замените 192.168.0.0/24 на вашу локальную сеть.

Тема «Безопасный SSH с Google Authenticator в Unix/Linux» завершена.

The post Безопасный SSH с Google Authenticator в Unix/Linux first appeared on linux-notes.org.]]>
https://linux-notes.org/bezopasny-j-ssh-s-google-authenticator-v-unix-linux/feed/ 4
Page_c76a3fcf https://linux-notes.org/ustanovka-vnc-viewer-v-unix-linux/ https://linux-notes.org/ustanovka-vnc-viewer-v-unix-linux/#comments Fri, 18 Sep 2015 20:58:26 +0000 http://linux-notes.org/?p=4016 Когда установлен на компьютере VNC сервер, то  можно подключиться к нему с помощью VNC viewer. Я хотел бы рассказать как установить эту утилиту. Можно почитать полезное чтиво об установке и настройке  VNC сервера: Установка и настройка VNC Server на Debian/Ubuntu/Linux Mint Установка VNCserver на CentOS/RedHat/Fedora Установка VNC viewer в Unix/Linux Я расскажу в своей статье «Установка […]

The post Установка VNC viewer в Unix/Linux first appeared on linux-notes.org.]]>

Когда установлен на компьютере VNC сервер, то  можно подключиться к нему с помощью VNC viewer. Я хотел бы рассказать как установить эту утилиту.

Можно почитать полезное чтиво об установке и настройке  VNC сервера:

Установка и настройка VNC Server на Debian/Ubuntu/Linux Mint

Установка VNCserver на CentOS/RedHat/Fedora

Установка VNC viewer в Unix/Linux

Я расскажу в своей статье «Установка VNC viewer в Unix/Linux» как можно установить VNC viewer на RedHat’s и Debian’s ОС. Постепенно, буду добавлять материал и для других Unix/Linux ОС.

Установка VNC viewer на Debian/Ubuntu/Mint.

Подкрутка ушей устанавливается как всегда из репозитория:

$ sudo apt-get install vncviewer

Установка VNC viewer на RedHat/Fedora/CentOS.

Для установки используйте команду:

# yum install vncviewer -y

Установка VNC viewer на FreeBSD.

VNC клиент для FreeBSD, можно установить:

# pkg_add -r tightvnc

После чего, открываем установленный клиент и выполняем подключение к нужному серверу:

term

Вот така я простая у меня статья «Установка VNC viewer в Unix/Linux». В ней нет ничего сложного, как в установке, так и в ее использовании.

The post Установка VNC viewer в Unix/Linux first appeared on linux-notes.org.]]>
https://linux-notes.org/ustanovka-vnc-viewer-v-unix-linux/feed/ 2
Page_c76a3fcf https://linux-notes.org/skonvertirovat-openssh-v-ssh2-i-naoborot-v-unix-linux/ https://linux-notes.org/skonvertirovat-openssh-v-ssh2-i-naoborot-v-unix-linux/#respond Sun, 13 Sep 2015 18:21:29 +0000 http://linux-notes.org/?p=8036 Сконвертировать OpenSSH в SSH2 и наоборот в Unix/Linux Программа SSH (Secure Shell) обеспечивает зашифрованный канал для подключения на другой компьютер через сеть, выполнение команд на удаленном компьютере, а так же перемещение файлов с одного компьютера на другой. SSH обеспечивает хорошую аутентификацию для пользователей, а также защищённую коммуникацию через Интернет. SSH2 является более безопасной, эффективной и портативной версией в SSH. В […]

The post Сконвертировать OpenSSH в SSH2 и наоборот в Unix/Linux first appeared on linux-notes.org.]]>

Сконвертировать OpenSSH в SSH2 и наоборот в Unix/Linux

Программа SSH (Secure Shell) обеспечивает зашифрованный канал для подключения на другой компьютер через сеть, выполнение команд на удаленном компьютере, а так же перемещение файлов с одного компьютера на другой. SSH обеспечивает хорошую аутентификацию для пользователей, а также защищённую коммуникацию через Интернет.

SSH2 является более безопасной, эффективной и портативной версией в SSH. В этой статье «Сконвертировать OpenSSH в SSH2 и наоборот в Unix/Linux» я расскажу как можно сконвертировать ключи SSH (OpenSSH) в SSH2 и наоборот.

Создать SSHv1 ключ через OpenSSH.

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

# cd /home/captain/.ssh && ssh-keygen

После выполнения данной команды, получим зашифрованный, закрытый ключ (так называемый id_rsa) и открытый ключ id_rsa.pub в папке /home/captain/.ssh

Вы можете сгенерировать ключ DSA с помощью команды:

# ssh-keygen -t dsa

Сконвертировать OpenSSH в SSH 

Приведенная ниже команда может быть использована для преобразования закрытого ключа SSH2 в формате OpenSSH:

# ssh-keygen -i -f path/to/private.key > path/to/new/opensshprivate.key

Приведенная ниже команда может быть использована для преобразования открытого ключ SSH2 в формате OpenSSH:

# ssh-keygen -i -f path/to/publicsshkey.pub > path/to/publickey.pub

Параметр  «-i» в SSH нужен для чтения и конвертирования SSH2 ключа в формате OpenSSH.

Сконвертировать OpenSSH в SSH2 

Обратный процесс для преобразования ключа OpenSSH в формате SSH2 может быть сделано с помощью следующей команды.

Преобразование закрытого ключа SSH2:

# ssh-keygen -e -f path/to/opensshprivate.key > path/to/ssh2privatekey/ssh2privatekey

Преобразование открытого ключа SSH2:

# ssh-keygen -e -f path/to/publickey.pub > path/to/ssh2privatekey/ssh2publickey.pub

Параметр  «-e» в SSH нужен для чтения и конвертирования SSH ключа в SSH2 в формате OpenSSH.

Примечание: Если вам нужно беспарольную аутентификацию b/w двух разных хостов, необходимо преобразовать PublicKey в соответствии с сервером и добавить публичный ключ в  ~/.ssh/authorized_keys или ~/.ssh2/authorized_keys на сервере.

The post Сконвертировать OpenSSH в SSH2 и наоборот в Unix/Linux first appeared on linux-notes.org.]]>
https://linux-notes.org/skonvertirovat-openssh-v-ssh2-i-naoborot-v-unix-linux/feed/ 0
Page_c76a3fcf https://linux-notes.org/sohranyaem-vse-rezervny-e-kopii-v-dropbox/ https://linux-notes.org/sohranyaem-vse-rezervny-e-kopii-v-dropbox/#comments Mon, 10 Aug 2015 21:48:54 +0000 http://linux-notes.org/?p=3581 Сохраняем все резервные копии в Dropbox В своей статье «Сохраняем все резервные копии в Dropbox» я расскажу как можно создавать бэкапы и сохранять их в Dropbox, на готовом примере — это Debian 8 покажу как это работает. Для создания бэкапов, я установлю утилиту backup-manager, для этого выполняем команду: Для Centos/Fedora/RHEL: # yum install backup-manager Для Debian/Mint/Ubuntu: # apt-get […]

The post Сохраняем все резервные копии в Dropbox first appeared on linux-notes.org.]]>

Сохраняем все резервные копии в Dropbox

В своей статье «Сохраняем все резервные копии в Dropbox» я расскажу как можно создавать бэкапы и сохранять их в Dropbox, на готовом примере — это Debian 8 покажу как это работает.

Для создания бэкапов, я установлю утилиту backup-manager, для этого выполняем команду:

Для Centos/Fedora/RHEL:

# yum install backup-manager

Для Debian/Mint/Ubuntu:

# apt-get install backup-manager

В ходе установке, вас попросят ввести место для сохранения всех ваших бекапов, я прописал:

выбор директории для хранения бэкапов backup-manager

выбор директории для хранения бэкапов backup-manager

Далее, необходимо прописать все директории для которых нужно делать бэкапы, для меня важны лишь 2 директории:

выбор директорий для создания бэкапов backup-manager

выбор директорий для создания бэкапов backup-manager

После установки можно внести изменения в конфигурационный файл:

# vim /etc/backup-manager.conf

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

# Говорит утилите чтобы она запускалась каждый день 
export BM_DAILY_CRON="true"
# Путь, где будут лежать ваши бэкапы
export BM_REPOSITORY_ROOT="/var/backup-manager"
# Папка для временных файлов, указываем путь
export BM_TEMP_DIR="/var/tmp" 
#export BM_ARCHIVE_FREQUENCY="daily"
# Создание бэкапов и так же всех БД mysql
export BM_ARCHIVE_METHOD="tarball-incremental mysql"
# Путь без пробелов в названии, у меня будет создаваться бэкапы etc и home:
export BM_TARBALL_DIRECTORIES="/etc /home"
#ИЛИ
# Можно так же использовать массив, в нем прописываем нужны папки для бэкапов:
declare -a BM_TARBALL_TARGETS
BM_TARBALL_TARGETS[0]="/etc"
BM_TARBALL_TARGETS[1]="/home"
BM_TARBALL_TARGETS[2]="/root"
export BM_TARBALL_TARGETS

# Настройка для mysql. Я ее использую, так же есть и др БД
# Прописываем пользователя от которого будет создаваться бэкап БД, у меня это root 
export BM_MYSQL_ADMINLOGIN="root"
# И пароль для пользователя, у меня это root
export BM_MYSQL_ADMINPASS="SeCuRePaSsWoRd"
# Прописываем хост, на котором работает mysql
export BM_MYSQL_HOST="localhost"
# Прописываем порт на котором работает сервер БД mysql
export BM_MYSQL_PORT="3306"

Это не весь конфиг, а только основная его часть, остальное я не трогал и оставил все как есть. Следующим действием я проверю работает ли backup-manager корректно (создает ли бэкапы), для этого запустим его из командной строки и проверим результат:

# backup-manager -v

/var/backup-manager/debian-etc.20150810.master.tar.gz: ok (2M, a11380fc4b446eeee928b93e5688b6b3)
/var/backup-manager/debian-home.20150810.master.tar.gz: ok (10M, d1c596ba77b74d52b4f33f9537b4f3a0)
/var/backup-manager/debian-root.20150810.master.tar.gz: ok (1M, 2cd19c3cba82c721b4ad53c19ec338f3)
Creating a default MySQL client configuration file: /root/.backup-manager_my.cnf
/var/backup-manager/debian-all-mysql-databases.20150810.sql.bz2: ok (2M, 2458cd46a0124328a31c8160e1ee364d)
Error reported by backup-manager-upload for method "scp", check "/var/tmp/bmu-log.VGW6BW".

Проверим наличие бекапов:

# ls -l /var/backup-manager/

total 11696
-rw-rw---- 1 root root 284 Aug 10 05:17 debian-20150810.md5
-rw-rw---- 1 root root 1150009 Aug 10 05:17 debian-all-mysql-databases.20150810.sql.bz2
-rw-rw---- 1 root root 1340334 Aug 10 05:17 debian-etc.20150810.master.tar.gz
-rw------- 1 root root 64020 Aug 10 05:17 debian-etc.incremental.bin
-rw-rw---- 1 root root 9373958 Aug 10 05:17 debian-home.20150810.master.tar.gz
-rw------- 1 root root 26494 Aug 10 05:17 debian-home.incremental.bin
-rw-rw---- 1 root root 2015 Aug 10 05:17 debian-root.20150810.master.tar.gz
-rw------- 1 root root 382 Aug 10 05:17 debian-root.incremental.bin

И так, видно что все работает хорошо и бэкапы созданы. Утилита backup-manager будет выполнять создание бэкапов 1 раз в день, т.к установлена опция BM_DAILY_CRON=»true» в конфиге. Собственно бэкапы создаются и теперь нужно настроить чтобы они отправлялись в Dropbox.

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

Определяем разрядность своей ОС, для этого есть команда:

# uname -a

Для 64-битных ОС, используйте:

# wget -O - "http://www.dropbox.com/download/?plat=lnx.x86_64" | tar xvzf - -C /root

Для 32-битных ОС, используйте:

# wget -O - "http://www.dropbox.com/download/?plat=lnx.x86" | tar xvzf - -C /root

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

# /root/.dropbox-dist/dropboxd

Нужно авторизоваться в сам DropBox. Далее, я нашел готовое решение для запуска Dropbox, для этого скачиваем и выставляем права на готовый скрипт:

# wget -O /etc/init.d/dropbox "https://gist.github.com/bezumkin/6712351/raw/108fc8af551cb4fdf7cdd08b891a45f405d283dc/dropbox" && sudo chmod +x /etc/init.d/dropbox

ВНИМАНИЕ! Нужно заменить в данном скрипте (который находится в /etc/init.d/dropbox) пользователя от которого будут запущен дропбокс, а так же юзера от которого он будет работать (заменяем «user1» и «user2» на свои). Незабываем сохраниться и так же, добавим данный скрипт ( службу) в автозагрузку ОС:

# update-rc.d dropbox defaults 6

И так, все готово, теперь пришло время запуска:

# service dropbox start

У Dropbox существует консольная утилиты — dropbox.py, я ее тоже скачаю т.к она необходима:

# wget http://www.dropbox.com/download?dl=packages/dropbox.py -O /root/.dropbox-dist/dropbox.py && chmod +x /root/.dropbox-dist/dropbox.py

Для помощи, используем:

# /root/.dropbox-dist/dropbox.py help

Чтобы все бэкапы автоматически подгружались в dropbox необходимо выполнить линковку для каталогов:

# ln -s /var/backup-manager /root/Dropbox/backup

Чтобы запустить клиентскую часть, используйте:

# /root/.dropbox-dist/dropboxd &

Открываем в браузере ваш аккаунт в dropbox и смотрим бекапы:

dropbox в бекапы

dropbox в бекапы

Моя тема «Сохраняем все резервные копии в Dropbox» завершена. Скоро будет статья как можно создать подобные бэкапы в Google Drive/Yandex.Диск.

 

The post Сохраняем все резервные копии в Dropbox first appeared on linux-notes.org.]]>
https://linux-notes.org/sohranyaem-vse-rezervny-e-kopii-v-dropbox/feed/ 1
Page_c76a3fcf https://linux-notes.org/nastrojka-vsftpd-s-ssl-tls-na-centos-redhat-fedora/ https://linux-notes.org/nastrojka-vsftpd-s-ssl-tls-na-centos-redhat-fedora/#respond Wed, 13 May 2015 12:47:48 +0000 http://linux-notes.org/?p=6137 Настройка vsftpd с SSL/TLS на CentOS/RedHat/Fedora FTP —  протокол передачи файлов (способ передачи файлов) между локальным и удаленным серверам. Это самый популярный метод передачи файлов, но его перестают использовать из-за отсутствия безопасности. Очень хорошая альтернатива — SFTP. Этот протокол реализует совместное использование файлов через SSH. Если вы хотите использовать FTP, вы должны по крайней мере обеспечить связь с […]

The post Настройка vsftpd с SSL/TLS на CentOS/RedHat/Fedora first appeared on linux-notes.org.]]>

Настройка vsftpd с SSL/TLS на CentOS/RedHat/Fedora

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

Очень хорошая альтернатива — SFTP. Этот протокол реализует совместное использование файлов через SSH. Если вы хотите использовать FTP, вы должны по крайней мере обеспечить связь с SSL / TLS сертификатами.

По этому мануалу «Настройка vsftpd с SSL/TLS на CentOS/RedHat/Fedora», я тестировал свою конфигурацию vsftpd с TLS/SSL сертификатами на CentOS 6.6 и CentOS 7.

Настройку с основными параметрами я описывал ранее в своей статье, вы можете ознакомится с нею тут:
Установка vsftpd на CentOS

В той статье очень подробно расписано использование данного FTP сервиса с различными опциями.

Может быть полезна еще следующая статья:
Скачивать и закачивать файлы по FTP используя консоль 

Настройка SSL с vsftpd

Первый шаг к получению полноценного  VSFTPD  — это работать с SSL, по этому, создадим сертификат SSL. Мы на самом деле будет использовать TLS (это тоже протокол), и он является преемником от SSL и более безопасный.

Мы создадим подкаталог внутри каталога SSL для хранения наших файлов:

$ sudo mkdir /etc/ssl/private

Создадим сертификат с ключем и поместим все в однин файл, для этого можно использовать следующую команду:

$ openssl req -x509 -nodes -days 365 -newkey rsa:1024 -keyout /etc/ssl/private/vsftpd.pem -out /etc/ssl/private/vsftpd.pem

Ответьте на вопросы, которые он просит. Наиболее важным из которых является «общее имя» («Common Name») вашего сервера, который будет иметь  IP-адрес или доменное имя и будет использоваться для дальнейшего подключения.

Добавить SSL в файла конфигурации VSFTPD 

Теперь мы должны изменить нашу конфигурацию и указать на новые ключи и настройки защищенного соединения.

Откройте файл конфигурации Vsftpd как root:

# vim /etc/vsftpd/vsftpd.conf

В нижней части файла добавляем  SSL/TLS. Мы должны указать расположение нашего сертификата и ключей. Мы на самом деле, используем 2 в 1 и используем все в одном файле, так что мы будем указывать оба варианта в том же файле:

rsa_cert_file=/etc/ssl/private/vsftpd.pem
rsa_private_key_file=/etc/ssl/private/vsftpd.pem

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

[...]
ssl_enable=YES
allow_anon_ssl=NO
force_local_data_ssl=YES
force_local_logins_ssl=YES
[...]

Далее, мы ограничиваем тип подключения к TLS, который более безопасен, чем SSL. Мы будем делать это явно позволяя использовать TLS и отрицая использовать SSL:

[...]
ssl_tlsv1=YES
ssl_sslv2=NO
ssl_sslv3=NO
[...]

Добавим несколько настроек конфигурации:

[...]
require_ssl_reuse=NO
ssl_ciphers=HIGH
[...]

Сохраняем и закрываем данный конфигурационный файл.

Перезапускаем VSFTPD чтобы наши изменения применились:

# /etc/init.d/vsftpd restart

или

# service vsftpd restart

Также настраиваем его для автоматического запуска при каждой перезагрузке ОС:

# chkconfig vsftpd on

Все, сервер готов. На этом, моя тема «Настройка vsftpd с SSL/TLS на CentOS/RedHat/Fedora» завершена.

 

The post Настройка vsftpd с SSL/TLS на CentOS/RedHat/Fedora first appeared on linux-notes.org.]]>
https://linux-notes.org/nastrojka-vsftpd-s-ssl-tls-na-centos-redhat-fedora/feed/ 0
Page_c76a3fcf https://linux-notes.org/ustanovka-webuzo-na-centos-redhat-ubuntu/ https://linux-notes.org/ustanovka-webuzo-na-centos-redhat-ubuntu/#respond Mon, 13 Apr 2015 00:39:27 +0000 http://linux-notes.org/?p=5860 Установка webuzo на CentOS/RedHat/Ubuntu Панель управления Webuzo можно установить только на CentOS, Redhat, Ubuntu или Scientific Linux. В этой теме  «Установка webuzo на CentOS/RedHat/Ubuntu» я расскажу как можно установить ее, на примере CentOS. Основные достоинства. 1. Webuzo является панелью управления для пользователя, которая помогает пользователям развертывать Web Apps (WordPress, Joomla, Drupal и т.д.) или системные […]

The post Установка webuzo на CentOS/RedHat/Ubuntu first appeared on linux-notes.org.]]>

Установка webuzo на CentOS/RedHat/Ubuntu

Панель управления Webuzo можно установить только на CentOS, Redhat, Ubuntu или Scientific Linux. В этой теме  «Установка webuzo на CentOS/RedHat/Ubuntu» я расскажу как можно установить ее, на примере CentOS.

Основные достоинства.

1. Webuzo является панелью управления для пользователя, которая помогает пользователям развертывать Web Apps (WordPress, Joomla, Drupal и т.д.) или системные приложения (Apache, NGINX, PHP, Java, MongoDB и т.д.) на своих виртуальных машинах или в облаке.

2. Softaculous Webuzo поможет вам развернуть приложения на сервере, виртуальной машины или в облаке. И все это одним щелчком мыши !!!

3. Webuzo является компактным решение всего программного обеспечения на веб-сервере, такого как Apache, PHP, MySQL, Apache Tomcat, Perl, MongoDB, Python, и т.д., которые необходимы для развертывания приложений. Он также поддерживает такие инструменты, как PhpMyAdmin, RockMongo и т.д. Webuzo экономит ваше время и, самое главное время на настройку самого сервера.

4. Webuzo доступен как Virtual Appliance, который будет работать в течение нескольких минут на любой вычислительной среде, которая поддерживает виртуализацию. Вы можете запустить Webuzo на Windows, Linux и Mac с помощью программного обеспечения, такого как  VMware, Parallels, VirtualBox, Xen PV или HVM, Linux-KVM, OpenVZ. Вы также можете развернуть его на общественных облаках, таких как Amazon EC2.

5. WEBUZO — это LAMP стек, который специально предназначен для облака. Softaculous Webuzo поможет вам развернуть приложения, такие как Zend Framework, WordPress, Drupal, MediaWiki, и Joomla на вашем сервере, виртуальной машины или в облаке.

6. Определенный пользователем пароль может быть установлен так, что никто другой не может получить доступ к панели пользователя / администратора. Это также позволяет вам изменять FTP пароль пользователя с легким пользовательским интерфейсом. Webuzo позволяет устанавливать и управлять SSL-сертификатами, CSR и закрытыми ключами, предоставляя вам высокий и безопасный доступ к сайтам. Вы также можете ограничить доступ к вашему серверу путем включения / отключения SSH доступа из Webuzo Enduser панели.

7. Если вы хотите использовать различные приложения в защищенной среде, где вы имеете полный контроль над сервером, то Webuzo может помочь вам сделать это. Вы можете развернуть Apps в нескольких доменах, щелчком кнопки. Также вы можете управлять записями DNS и MX с простым и легким в использовании интерфейсом.

8. Наслаждайтесь преимуществ свободного Webuzo в двух различных формах:
— Бесплатная версия с 55 скриптами по умолчанию.
— Платная версия. Имеется поддержка  351 скрипта.

Установка.

Скачиваем готовый скрипт для работы:

# cd /usr/local/ src/ && wget http://files.webuzo.com/install.sh

или готовую виртуальную машину:

# wget http://downloads.webuzo.com/va.php

Я выбрал установку через скрипт, скачал его и запустил:

# bash install.sh

Вот процесс установки:

установка webuzo

установка webuzo

Установка длилась около минут 15-30. После ее завершения переходим по указанному адресу и порту, у меня это:
http://178.151.40.243:2004

PS: Не всегда он правильно показывает ( берет) тот IP адрес, по этому, лучше перепроверится на каком ИП:

$ ifconfig

После чего открываем тот ИП и указанный порт — 2004 и видим следующую картинку:

Установка webuzo

Установка webuzo

Вводим необходимую информацию и наживаем на  «Install».

Вы можете войти в Webuzo Admin Panel используя ваши root детали:
http://192.168.103.249:2004/

Чтобы начать устанавливать Apps вы должны использовать следующую ссылку для этого :
URL : http://192.168.103.249:2002/
Username : captain
Password : *********

Открываем ссылки и вводим логин и пароль. Если перейти по http://192.168.103.249:2004 то попадете в админ панель:

админ панель в webuzo

админ панель в webuzo

Открываем ссылки и вводим логин и пароль. Если перейти по http://192.168.103.249:2002 то попадете в установщик ПО:

панель для установки ПО в webuzo

панель для установки ПО в webuzo

Хочу сказать что очень много всего полезного есть тут и можно установить. Очень легко этим всем управлять.

Вот и все, статья «Установка webuzo на CentOS/RedHat/Ubuntu» подошла к завершению.

The post Установка webuzo на CentOS/RedHat/Ubuntu first appeared on linux-notes.org.]]>
https://linux-notes.org/ustanovka-webuzo-na-centos-redhat-ubuntu/feed/ 0