Создание и удаление виртуальных машин в KVM/QEMU вручную
Можно быстро и довольно просто выполнить базовые операции создания и удаления виртуальных машин из командной строки вручную.
Можно быстро и довольно просто выполнить базовые операции создания и удаления виртуальных машин из командной строки вручную.
Обычно, для управления удаленными системами на базе ОС Windows, используется протокол rdp. Но можно использовать этот же протокол для доступа и к Unix-системам. Это может быть удобно для администраторов, работающих с ПК под Windows.
Если система расположена в сети за прокси-сервером, вы не сможете совсем "по-простому" обновлять систему, устанавливать пакеты и многое другое. Для решения этой проблемы необходимо выполнить небольшую настройку.
Многие приложения используют переменные среды http_proxy и https_proxy, например:
export http_proxy=http://username:password@proxy_address:proxy_port
export https_proxy=http://username:password@proxy_address:proxy_port
Иногда может быть нужно установить такие же переменные среды, но их имена - в верхнем регистре:
export HTTP_PROXY=http://username:password@proxy_address:proxy_port
export HTTPS_PROXY=http://username:password@proxy_address:proxy_port
Для работы устаревшего менеджера пакетов apt-get, нужно выполнить:
В открывшемся редакторе vi будет загружен файл конфигурации, в котором добавьте строку:
Для работы консольного клиента git через прокси, нужно предварительно установить переменные конфигурации:
git config --global http.proxy http://username:password@server_ip_address:server_port_number
git config --global https.proxy https://username:password@server_ip_address:server_port_number
Установленные параметры будут записаны в файл .gitconfig в домашней директории пользователя и могут быть использованы повторно после перезагрузки.
Простым способом резервного копирования файловой системы удаленного сервера является использование утилиты dd по ssh.
При миграции серверов в виртуальную инфраструктуру иногда можно сэкономить время и не переустанавливать системы, а преобразовать физический носитель в виртуальный.
Пришлось разбирать свою "аудиотеку", где часть файлов была сохранена в формате flac. Так как я не слух все-равно не понимаю разницу между этим форматом и MP3 от 48 кГц, то решил сэкономить дисковое пространство, переконвертировав файлы.
fstab (file systems table) - один из конфигурационных файлов в UNIX-подобных системах, который содержит информацию о различных файловых системах и устройствах хранения информации компьютера; описывает, как диск (раздел) будет использоваться или как будет интегрирован в систему.
Здесь перечисляются и кратко описываются параметры безопасности сервиса OpenSSH. Это может быть не критичным, но подразумевается, что настройка выполняется в только что установленной операционной системе. Набор рассматриваемых параметров характерен для OpenSSH 9.3p2 с OpenSSL 1.1.1t.
Если есть старое устройство со встроенным Linux и, соответственно, устаревшими версиями сетевых сервисов, как например NAS HNS-B72765, можно использовать следующую команду для монтирования сетевого ресурса (нужно просто указать версию протокола).
Здесь кратко описана настройка сервера ssh, а также генерация и передача ключа пользователя на сервер. Для этого примера настройка выполнялась в Debian 12.
О безопасности различных типов ключей написано немало, но часто рекомендуется использовать тип ED25519.
Генерацию ключа для пользователя системы, обрабатывающей чувствительные данные, следует выполнять в системе, которой вы доверяете. Это может быть как домашний компьютер, так и специализированный ПК в рамках удостоверяющего центра, да и все что угодно, если вы уверены в конфиденциальности данных. Не следует выполнять генерацию ключа на чужом ПК, или в системе, где устанавливается разнообразное ПО из недоверенных источников.
При генерации ключа будет создано два файла: один из них будет содержать секретную (закрытую/приватную) часть ключа, а другой - открытую (публичную) часть. Файл закрытой части ключа необходимо держать в надежном хранилище и исключать его распространения, а файл открытой части можно передавать на серверы, где вам необходимо проходить аутентификацию.
В ходе генерации будет запрошен ввод парольной фразы. Настоятельно рекомендуется не игнорировать этот шаг. Парольная фраза будет запрашиваться каждый раз при прохождении аутентификации при помощи данного ключа. Это рекомендуется делать всегда в качестве дополнительной меры защиты, если ключ не будет использоваться при работе, например, скриптов.
Выполним генерацию ключевой пары:
Далее, чтобы сервер мог проверить подлинность клиента, нужно файл открытой части ключа передать на этот сервер.
Есть несколько способов передачи файла с открытой частью ключа на сервер:
ssh-copy-id;В рамках этой заметки я не буду описывать каждый из указанных способов. Вы можете прочитать соответствующие статьи по этим темам. Далее, я приведу пример базового файла конфигурации сервера.
Конфигурация сервера выполняется путем редактирования файла конфигурации /etc/ssh/sshd_config. В этом файле содержатся все необходимые параметры для работы.
Чтобы проверить корректность параметров конфигурации можно выполнить:
Если ошибок нет, можно применить настройки, перезапустив сервер:
Для просмотра статуса сервера выполните:
Ниже приводится пример базового файла конфигурации:
AddressFamily inet
AllowAgentForwarding no
AllowStreamLocalForwarding no
AllowTcpForwarding no
# AllowUsers administrator@...
AuthenticationMethods publickey
AuthorizedKeysFile /etc/ssh/authorized-keys/%u
Banner none
DebianBanner no
Ciphers aes128-ctr,aes192-ctr,aes256-ctr,chacha20-poly1305@openssh.com,aes256-gcm@openssh.com,aes128-gcm@openssh.com
ClientAliveCountMax 1
ClientAliveInterval 300
DisableForwarding yes
KbdInteractiveAuthentication no
KexAlgorithms curve25519-sha256,curve25519-sha256@libssh.org,diffie-hellman-group14-sha256,diffie-hellman-group16-sha512,diffie-hellman-group18-sha512,diffie-hellman-group-exchange-sha256
HostKeyAlgorithms -ecdsa-sha2-nistp256
# ListenAddress ...
LoginGraceTime 20
LogLevel VERBOSE
MACs hmac-sha2-256-etm@openssh.com,hmac-sha2-512-etm@openssh.com,umac-128-etm@openssh.com
MaxAuthTries 3
PermitEmptyPasswords no
PermitRootLogin no
PubkeyAuthentication yes
SyslogFacility AUTHPRIV
# Subsystem sftp /usr/lib/openssh/sftp-server
Subsystem sftp internal-sftp
X11Forwarding no
X11UseLocalhost no
Compression no
MaxSessions 2
# Port ...
TCPKeepAlive no
UseDNS no
UsePAM yes
# Match User USERNAME
# ChrootDirectory /home/...
# AuthenticationMethods publickey password
# PasswordAuthentication yes
Обратите внимание, в приведенном выше примере некоторые параметры закомментированы. Их вы можете настроить в соответствии с вашими потребностями, поэтому я счел нужным оставить их здесь без рекомендаций. Кроме этого, имейте в виду, что данная конфигурация зависит от версии сервера ssh и некоторые параметры могут быть неподходящими или небезопасными в вашем случае.
На сервере должна быть создана директория /etc/ssh/authorized-keys/, в которую необходимо помещать файлы с открытыми частами ключей пользователей. Имя каждого такого файла должно быть эквивалентным имени пользователя.
Крайне важным является соблюдение установки прав доступа к файлам закрытой и открытой частей ключа.
Файл закрытой части ключа следует делать доступным для чтения и записи только его владельцу. К файлу открытой части ключа такого требования не предъявляется. Вместо этого, необходимо установить корректные права на директорию и файл открытой части ключа, размещаемые на сервере.
Согласно указанной выше конфигурации, файлы открытых частей ключей всех пользователей размещаются в директории /etc/ssh/authorized-keys. Установите для этой директорию права 755 (владелец по-умолчанию "root" имеет полные права, группа и остальные - только чтение и выполнение):
На файлы открытых частей ключей пользователей установите права владения и чтения только для соответствующих пользователей:
chown USERNAME:USERNAME /etc/ssh/authorized-keys/USERNAME
chmod 400 /etc/ssh/authorized-keys/USERNAME
Для проверки настройки безопасности вашей конфигурации рекомендуется использование сканеров безопасности. Одним из таких сканеров являются ssh-audit и lynis, они входят в стандартный репозиторий Debian.
Рекомендуется периодически обновлять сканер и выполнять проверки конфигурации для профилактики появления в системе небезопасных параметров.