- Изменение пароля Root
- Если есть панель ISPmanager и известен текущий пароль
- Если нет панели ISPmanager
- Если текущий пароль неизвестен
- SSH — Изменение пароля, порта, отключение/включение
- Конфигурация Порта
- MAG2xx (на основе чипсета STMicroelectronics)
- MAG-3xx (на базе чипсетов Broadcom)
- MAG-4xx (на базе чипсетов Hisilicon)
- Смена пароля для сборки образа
- Отключение/включение SSH
- Отключение SSH-доступа
- Включение SSH-доступа
- Скрипт для смены пароля на серверах linux через ssh
- 16 ответов
Изменение пароля Root
Root-пароль можно легко изменить. Для этого нужен доступ к панели управления ISPmanager/VMmanager или терминалу putty .
Если есть панель ISPmanager и известен текущий пароль
Зайдите в панель под пользователем Root — в правом верхнем углу перейдите в пункт Настройки :
Далее, укажите текущий пароль и дважды новый, нажмите ОК :
Если нет панели ISPmanager
Можно сменить root пароль через терминал. Зайдите на сервер по SSH под пользователем root , напишите команду passwd , после чего дважды введите новый пароль:
Если текущий пароль неизвестен
Можно изменить root через VMmanager — данные для доступа есть в инструкции к серверу.
Перейдите в раздел Виртуальные машины → Пароль :
Укажите новый пароль. После этого сервер будет перезагружен:
Если у вас VMmanager 6, нажмите на Меню — Сменить пароль во вкладке Виртуальные машины .
Если не получается зайти на сервер и установка пароля через VMmanager не помогает, обратитесь в техническую поддержку. Или сбросьте пароль через меню grub при загрузке, для этого потребуется ненадолго выключить сервер. Последний способ подходит для VDS на KVM-виртуализации и выделенных серверов с ОС Debian, CentOS, Ubuntu .
Перезагрузите сервер, при появлении меню grub нажмите «e» .
В конце строки с параметрами ядра добавьте init=/bin/bash .
После чего нажмите F10, и загрузка сервера продолжится.
Далее, чтобы изменить пароль, введите mount -no remount,rw /
Теперь можно задать новый пароль — passwd . После перезагрузки сервера вы можете авторизоваться, используя новый пароль.
Источник
SSH — Изменение пароля, порта, отключение/включение
Параметры по умолчанию для SSH-соединения, которые используются в Публичных версиях ПО и старых версиях ПО (до 0.2.14-r8):
Login: root
Password: 930920
Port: 22
Внимание. Начиная с версии 0.2.14-r8 были внесены изменения в систему безопасности.
Доступ по SSH закрыт — в заводских версиях ПО (версии ПО, предоставляемые Производителем для автообновления и ручного обновления из меню Встроенного портала).
Доступ по SSH открыт для стандартного TCP-порта (22) — в публичных версиях ПО, предоставляемых Производителем в Релизах на http://soft.infomir.com.
Для версий ПО, создаваемых операторами, предусмотрена возможность отключения/включения SSH.
Конфигурация Порта
Стандартное значение TCP-порта для SSH-доступа (22) может быть изменено в работающем STB (выполняется для каждой STB отдельно) или может быть изменено для целой версии ПО, при создании образа.
MAG2xx (на основе чипсета STMicroelectronics)
- Конфигурация расположена в rootfs: /etc/openssh/sshd_config
Необходимо изменить значение строки #Port. Например, чтобы изменить порт на значение 2222:
Примечание. Для применения новых настроек на работающем STB, после модификации скрипта, перегрузите STB.
# vi etc/openssh/sshd_config
# $OpenBSD: sshd_config,v 1.87 2012/07/10 02:19:15 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 override the
# default value.
#Port 2222
#AddressFamily any
#ListenAddress 0.0.0.0
#ListenAddress ::
# The default requires explicit activation of protocol 1
#Protocol 2
# HostKey for protocol version 1
#HostKey /etc/openssh/ssh_host_key
# HostKeys for protocol version 2
#HostKey /etc/openssh/ssh_host_rsa_key
#HostKey /etc/openssh/ssh_host_dsa_key
#HostKey /etc/openssh/ssh_host_ecdsa_key
# Lifetime and size of ephemeral version 1 server key
#KeyRegenerationInterval 1h
#ServerKeyBits 1024
# Logging
# obsoletes QuietMode and FascistLogging
#SyslogFacility AUTH
#LogLevel INFO
#LoginGraceTime 2m
#PermitRootLogin yes
#StrictModes yes
#MaxAuthTries 6
#MaxSessions 10
#RSAAuthentication yes
#PubkeyAuthentication yes
# The default is to check both .ssh/authorized_keys and .ssh/authorized_keys2
# but this is overridden so installations will only check .ssh/authorized_keys
AuthorizedKeysFile .ssh/authorized_keys
# For this to work you will also need host keys in /etc/openssh/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
/.shosts files
#IgnoreRhosts yes
# To disable tunneled clear text passwords, change to no here!
#PasswordAuthentication yes
# This is a modification for the default installation of the STLinux
# Distribution. You should never ship a real system in this state.
PermitEmptyPasswords yes
# Change to no to disable s/key passwords
#ChallengeResponseAuthentication yes
# Kerberos options
#KerberosAuthentication no
#KerberosOrLocalPasswd yes
#KerberosTicketCleanup yes
#KerberosGetAFSToken no
MAG-3xx (на базе чипсетов Broadcom)
- Конфигурация расположена в rootfs: /etc/rc.d/rcS.d/S60netsrv
Необходимо изменить значение строки dropbear. Например, чтобы изменить порт на значение 2222:
Примечание. Для применения новых настроек на работающем STB, после модификации скрипта, перегрузите STB.
$
$
$
if [ -e /sbin/dropbear ]; then
if [ ! -e /etc/dropbear/dropbear_rsa_host_key ]; then
mkdir -p /etc/dropbear
dropbearkey -t rsa -f /etc/dropbear/dropbear_rsa_host_key
dropbearkey -t dss -f /etc/dropbear/dropbear_dss_host_key
fi
dropbear -p 2222
fi
MAG-4xx (на базе чипсетов Hisilicon)
- Конфигурация расположена в rootfs: /etc/init.d/S81dropbear
Необходимо в строке TARGET_BIN=/sbin/ dropbear указанного выше скрипта (S81dropbear) добавить новое значение порта в формате -p
. Например, чтобы изменить порт на значение 2222: Примечание. Для применения новых настроек на работающем STB, после модификации скрипта, перегрузите STB.
TARGET_DESC=»Dropbear (SSH daemon)»
TARGET_BIN=»/sbin/ dropbear -p 2222«
# wait for /dev/urandom before we start dropbear
while [ 1 ]; do
if [ -c /dev/urandom ]; then
#echo «[IM][system init][+][$
break;
else
#echo «[IM][system init][i][$
sleep 0.2
fi
done
if [ -e /sbin/dropbear ]; then
if [ ! -e /etc/dropbear/dropbear_rsa_host_key ]; then
echo «[IM][system init][+][$
mkdir -p /etc/dropbear
dropbearkey -t rsa -f /etc/dropbear/dropbear_rsa_host_key
dropbearkey -t dss -f /etc/dropbear/dropbear_dss_host_key
fi
$TARGET_BIN
#-E 2>> /ram/db.txt
if [ $? -eq 0 ]; then
echo «[IM][system init][i][$
else
echo «[IM][system init][!][$
fi
fi
Смена пароля для сборки образа
1. Зайти на приставку по SSH
2. Выполнить и изменить пароль
3. Выполнить копирование содержимого следующего файла:
Для MAG256, 322/324/349/351 —
4. В rootfs, который будет использоваться для последующей сборки образа, заменить содержимое одноименного файла на скопированное содержимое (из п. 3).
# passwd
Changing password for root
New password:
Retype password:
Password for root changed by root
# cat /etc/passwd
root:$1$TQP9rlUW$LzukH8Q0RoTcHIsXlpG3L1:0:0:root:/root:/bin/sh
bin:*:1:1:bin:/bin:/dev/null
daemon:*:2:2:daemon:/sbin:/dev/null
adm:*:3:4:adm:/var/tmp:/dev/null
ftp:*:14:50:FTP User:/var/tmp:/dev/null
nobody:*:99:99:Nobody:/:/dev/null
rpcuser:x:29:29:RPC Service User:/var/tmp:/dev/null
client:x:1000:100:Nexus client:/:/bin/sh
user1001:x:1001:100:User ID 1001:/:/bin/sh
user1002:x:1002:100:User ID 1002:/:/bin/sh
nfsnobody:x:65534:65534:Anonymous NFS User:/var/tmp:/dev/null
_ntp:x:1000:1000:OpenNTP daemon:/var/empty:/dev/null
Отключение/включение SSH
Отключение SSH-доступа
Отключение SSH-доступа может быть выполнено в работающем STB отдельно для каждой STB (после этого необходимо перегрузить STB) или выполняется для всей версии ПО, в процессе создания образа.
Для отключения SSH-доступа необходимо произвести следующие изменения:
MAG2xx — удалить скрипты etc/rcS.d/S30ssh и /usr/sbin/sshd
$
$
$
if [ -e /sbin/dropbear ]; then
if [ ! -e /etc/dropbear/dropbear_rsa_host_key ]; then
mkdir -p /etc/dropbear
dropbearkey -t rsa -f /etc/dropbear/dropbear_rsa_host_key
dropbearkey -t dss -f /etc/dropbear/dropbear_dss_host_key
fi
# dropbear
fi
TARGET_DESC=»Dropbear (SSH daemon)»
# TARGET_BIN=/sbin/ dropbear
# wait for /dev/urandom before we start dropbear
while [ 1 ]; do
if [ -c /dev/urandom ]; then
#echo «[IM][system init][+][$
break;
else
#echo «[IM][system init][i][$
sleep 0.2
fi
done
if [ -e /sbin/dropbear ]; then
if [ ! -e /etc/dropbear/dropbear_rsa_host_key ]; then
echo «[IM][system init][+][$
mkdir -p /etc/dropbear
dropbearkey -t rsa -f /etc/dropbear/dropbear_rsa_host_key
dropbearkey -t dss -f /etc/dropbear/dropbear_dss_host_key
fi
$TARGET_BIN
#-E 2>> /ram/db.txt
if [ $? -eq 0 ]; then
echo «[IM][system init][i][$
else
echo «[IM][system init][!][$
fi
fi
Включение SSH-доступа
Для восстановления SSH-доступа на STB необходимо обновить STB на версию ПО с включенным SSH-доступом.
Для включения SSH в новой версии образа ПО необходимо восстановить исходное состояние указанных файлов-скриптов (файлы в исходном состоянии предоставляются в Релизе).
Источник
Скрипт для смены пароля на серверах linux через ssh
у нас есть несколько серверов Red Hat linux в нашей ИТ-среде. Члены моей команды просят меня написать сценарий (предпочтительно сценарий оболочки), чтобы изменить пароль пользователя на каждом из них за один раз, используя SSH.
Я попытался найти решение, но многие из найденных скриптов используют Expect. Мы не ожидаем, установленный на наших серверах, и системные администраторы отказались позволить нам установить его. Кроме того, пользователи не имеют доступа root so passwd —stdin или chpasswd не может быть использован.
есть ли способ написать скрипт, чтобы пользователь мог запустить его и изменить пароль только своего пользователя на всех серверах в списке?
16 ответов
удаленным машинам не нужно ожидать установки. Вы можете установить expect на локальную рабочую станцию или виртуальную машину (virtualbox) или любой *Nix box и написать оболочку, которая вызывает это .ex (expect) скрипт (могут быть небольшие изменения от дистрибутива к дистрибутиву, это проверено на CentOS 5/6):
вам не нужен root-доступ, чтобы использовать passwd .
Это shoud работает просто отлично.
вы должны попробовать pssh (параллельный ssh одновременно).
основываясь на примере squashbuff, я попробовал следующее, что хорошо сработало для меня:
безопасность мудрая, может быть улучшена, чтобы принимать входные данные без эха на экран или сохранения открытого текста на диск.
другая возможность: измените его вручную на одном сервере. Получите зашифрованный пароль из /etc / shadow. Теперь сделайте что-нибудь вроде этого:
конечно, «encrypted_passwd» — это то, что вы получили из /etc/shadow, где вы вручную изменили пароль. И $HOST_LIST-это список хостов, на которых вы хотите изменить пароль. Это может быть создано просто с помощью:
или, возможно, с файлом (как предлагали другие):
где файл «host_list.txt » имеет список всех систем, в которых вы хотите изменить пароль.
Edit: если ваша версия passwd не поддерживает опцию-p, у вас может быть доступна программа «usermod». Пример выше остается тем же, просто замените «passwd» на «usermod».
кроме того, вы можете рассмотреть полезный инструмент pdsh, что упростило бы приведенный выше пример примерно так:
последний «gotcha», чтобы искать: зашифрованный пароль, вероятно, содержит символ знака доллара (‘$’) в качестве разделителя полей. Вероятно, вам придется избегать тех, кто находится в вашем цикле for или pdsh (т. е. «$» становится «\$»).
установить sshpass на любом сервере, с которого вы хотите выполнить скрипт.
подготовьте текстовый файл, в котором вы должны передать детали, такие как Хоста, Имя Пользователя, пароль и порт. (По вашему требованию).
подготовьте файл сценария, используя ниже подробности.
альтернативой, которую вы можете представить своим коллегам, будет использование аутентификации без пароля. Они сгенерируют пару открытый / закрытый ключ и зарегистрируют свой открытый ключ в
/.ssh / authorized_keys файл на каждом из серверов, в которые они входят.
можете ли вы использовать Perl?
здесь существует скрипт, который изменяет пароль в наборе хостов.
Если требуется несколько модулей Perl (Net::OpenSSH:: Parallel, ожидал и их зависимости), установленные на локальном компьютере, на котором запущен скрипт, но ничего на удаленных серверах, где пароль должен быть изменен.
Источник