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

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

На локальной машине генерируем ключи:

sudo ssh-keygen -t rsa

Копируем публичный ключ на удаленный сервер:

sudo ssh-copy-id -i ~/.ssh/id_rsa.pub -p PORT USER@HOST

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

Указанные команды нужно выполнять от того пользователя, от которого будет выполнятся подключение.
Например если от root, то нужно перед двумя командами выше выполнить команду:

sudo -i

Убрать хост можно командой:

ssh-keygen -f "/home/user/.ssh/known_hosts" -R [HOST]:22

Смотрите также:
Установка и настройка SSH

Установка Zurmo в Linux

На тесте установлю Zurmo в Ubuntu Server 16.04 и PHP 7.

1) Сначала посмотрим требования http://zurmo.org/wiki/installation-requirements
Установим что необходимо:

sudo apt-get install apache2 mysql-server mysql-client wget unzip php php-mysql php-cli php-gd php-common php-curl php-dev php-pear php-imap libapache2-mod-php php-mcrypt php-memcache php-memcached memcached php-soap php-mbstring

Откроем файл конфигурации PHP в текстовом редакторе:

sudo nano /etc/php/7.0/apache2/php.ini

И укажем некоторые параметры:

date.timezone = Europe/Kiev
post_max_size = 32M
upload_max_filesize = 32M
zend.assertions = 0

Перезапустим apache2 чтобы применить изменения:

sudo service apache2 restart

2) Подключимся к mysql, создадим пустую базу данных и пользователя:

mysql -u root -p
CREATE DATABASE zurmo;
CREATE USER 'zurmo'@'localhost' IDENTIFIED BY 'PASSWORD';
GRANT ALL PRIVILEGES ON `zurmo`.* TO 'zurmo'@'localhost';
FLUSH PRIVILEGES;
QUIT;

3) Скачаем последнюю версию с официального сайта http://zurmo.org/download
Можно скопировать ссылку на stable версию и например скачать в linux так:

wget http://build.zurmo.com/downloads/zurmo-stable-3.2.1.57987acc3018.zip

4) Распакуем архив с zurmo, переместим в директорию веб сервера и назначим права:

unzip zurmo-stable-3.2.1.57987acc3018.zip
mv zurmo /var/www/html/zurmo/
sudo chown -R www-data:www-data /var/www/html/zurmo/

5) Теперь можно открыть в браузере ссылку http://HOST/zurmo/app/index.php, приступить к установке и следовать отображающимся инструкциям.
При установке укажем пароль пользователя super и заполним его, он понадобится в дальнейшем для входа.

6) В процессе установки Zurmo требовалось отключить строгий режим MySQL, для этого я открыл файл конфигурации:

sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf

Добавил в самом конце параметр (так как его не было):

sql_mode=""

Перезагрузил MySQL:

sudo service mysql restart

Все.

Как удалить iRedMail

Приведу пример удаления iRedMail.
На тесте удалю установленный iRedMail 0.9.7 с Ubuntu Server 16.04 используя скрипт удаления — clear_iredmail.

Перейдем в директорию tools установщика iRedMail, сохраним в нее скрипт, в моем случае это:

cd /root/iRedMail-0.9.7/tools/
wget https://ixnfo.com/wp-content/uploads/2017/08/clear_iredmail.zip
unzip clear_iredmail.zip

Сделаем его исполняемым:

chmod +x clear_iredmail.sh

И запустим:

bash clear_iredmail.sh

Скрипт удалит mysql, ssl, amavisd, clamav, spamassassin, dovecot, postfix, iredapd, пользователей и т.д., нужно быть осторожным если на сервере установлено еще что-то кроме iRedMail.
В коде скрипта можно увидеть поэтапно расписанный процесс удаления iRedMail.

Решение ошибки host NAME greeted me with my own hostname NAME

Заметил однажды на одном сервере, что Postfix не всегда отправляет письма, в логах была следующая ошибка:

warning: host NAME[192.168.5.5]:25 greeted me with my own hostname NAME

Посмотрев имя хоста:

hostname -f

Обнаружил что оно не правильное и совпадает с тем на которое шлется почта!

Изменил имя хоста на правильное в следующих файлах (в редакторе nano Ctrl+X для выхода, y/n для сохранения или отмены изменений):

sudo nano /etc/hostname
sudo nano /etc/postfix/main.cf
sudo nano /etc/hosts

Все, после этого ошибка не появлялась и почта успешно доставлялась.

Добавление vlan в Ubuntu для ABillS

Приведу пример добавления VLAN в Ubuntu Server для ABillS.

Переключимся на пользователя root:

sudo su

Первым делом установим пакет vlan и загрузим модуль 8021q:

apt-get install vlan
modprobe 8021q

Для его автозагрузки после перезапуска системы откроем файл /etc/modules, напрмиер в текстовом редакторе nano (Ctrl+X для выхода, y/n для сохранения или отмены изменений):

nano /etc/modules

И добавим если его там нет:

8021q

Создадим скрипт:

nano /etc/network/vlan.sh

Добавим в него содержимое (в IFACE указываем сетевой интерфейс для vlan, во VLANS — перечень VLAN):

#!/bin/bash
IFACE="eth1"
VLANS="51,200-350,700-1000"

  /sbin/vconfig set_name_type VLAN_PLUS_VID_NO_PAD
  VLANS=`echo ${VLANS} | sed 'N;s/\n/ /' |sed 's/,/ /g'`
  for i in $VLANS; do
    if [[ $i =~ - ]]; then
      IFS='-' read -a start_stop <<< "$i"
      for cur_iface in `seq ${start_stop[0]} ${start_stop[1]}`;
      do
        echo "${cur_iface}";
        /sbin/vconfig add ${IFACE} ${cur_iface}
        /sbin/ifconfig vlan${cur_iface} up
      done
    else
    echo "$i";
      /sbin/vconfig add ${IFACE} ${i}
      /sbin/ifconfig vlan${i} up
    fi;
  done

Делаем скрипт исполняемым:

chmod +x /etc/network/vlan.sh

Запустим скрипт:

/etc/network/vlan.sh

Для автозапуска скрипта откроем конфигурацию сетевых интерфейсов:

nano /etc/network/interfaces

И добавим в конце строку:

post-up /etc/network/vlan.sh

Смотрите также:
Настройка VLAN в Ubuntu Server

Решение ошибки «nf_conntrack: table full, dropping packet»

Заметил однажды в Ubuntu Server 14.04 LTS настроенного как роутер, в файле /var/log/kern.log следующую ошибку:

Aug 14 17:32:51 router kernel: [1933791.144013] nf_conntrack: table full, dropping packet

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

cat /proc/sys/net/netfilter/nf_conntrack_max
sysctl -a | grep conntrack_max

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

cat /proc/sys/net/netfilter/nf_conntrack_count

Увеличим командой:

echo 4194304 > /proc/sys/net/netfilter/nf_conntrack_max

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

sudo nano /etc/rc.local

Либо откроем файл конфигурации ядра:

sudo nano /etc/sysctl.conf

Добавим или изменим строку:

net.netfilter.nf_conntrack_max = 4194304

И применим настройки:

sysctl -p

Как разрешить SMTP без SSL на порт 25 в iRedMail/Postfix

Чтобы разрешить на почтовом сервере отправку писем без шифрования через порт 25, необходимо открыть файл конфигурации Postfix, например в редакторе nano (в котором Ctrl+X для выхода, y/n для сохранения или отмены изменений):

sudo nano /etc/postfix/main.cf

И раскомментировать две строки:

smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous

И оставить закомментированной строку:

#smtpd_tls_auth_only=yes

Перезагрузим Postfix чтобы применить изменения:

sudo service postfix restart

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