Skip navigation

Параметры по умолчанию для 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: #Port 2222
    Примечание. Для применения новых настроек на работающем STB, после модификации скрипта, перегрузите STB.

  Пример для MAG-2xx. Изменение порта для доступа по SHH. Новое значение: 2222. Приведено содержимое файла /etc/openssh/sshd_config.

# 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

# Authentication:

#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

#AuthorizedPrincipalsFile none

# 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 ~/.rhosts and ~/.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

# GSSAPI options

MAG-3xx (на базе чипсетов Broadcom)

  • Конфигурация расположена в rootfs: /etc/rc.d/rcS.d/S60netsrv
  • Необходимо изменить значение строки dropbear. Например, чтобы изменить порт на значение 2222: dropbear -p 2222
    Примечание.
    Для применения новых настроек на работающем STB, после модификации скрипта, перегрузите STB.

  Пример. MAG-3xx. Изменение порта для доступа по SSH. Новое значение: 2222. Приведено содержимое файла /etc/rc.d/rcS.d/S60netsrv.

# vi /etc/rc.d/rcS.d/S60netsrv
#!/bin/sh

. /etc/init.d/splash-utils.sh

${SPLASH} prg 40
${SPLASH} clear_log
${SPLASH} log "Starting network services..."

#portmap &
#telnetd

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 <Port_number>. Например, чтобы изменить порт на значение 2222: TARGET_BIN="/sbin/dropbear -p 2222" Примечание. Для применения новых настроек на работающем STB, после модификации скрипта, перегрузите STB.

  Пример. MAG-4xx. Изменение порта для доступа по SSH. Новое значение: 2222. Приведено содержимое файла /etc/init.d/S81dropbear.

#!/bin/sh

TARGET_DESC="Dropbear (SSH daemon)"
TARGET_BIN="/sbin/dropbear -p 2222"

source /etc/utils/shell-utils.sh

echo "[IM][system init][+][${TARGET_DESC}] Starting..."

/sbin/ifup eth0

# wait for /dev/urandom before we start dropbear
while [ 1 ]; do
if [ -c /dev/urandom ]; then
#echo "[IM][system init][+][${TARGET_DESC}] urandom is ready"
break;
else
#echo "[IM][system init][i][${TARGET_DESC}] urandom NOT found. waiting..."
sleep 0.2
fi
done

if [ -e /sbin/dropbear ]; then
if [ ! -e /etc/dropbear/dropbear_rsa_host_key ]; then
echo "[IM][system init][+][${TARGET_DESC}] HOST KEY not found. Creating host key"
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

#echo "$?" >> /ram/db.txt

if [ $? -eq 0 ]; then
echo "[IM][system init][i][${TARGET_DESC}] Started OK"
else
echo "[IM][system init][!][${TARGET_DESC}] FAILED to start!"
fi
fi

${SPLASH} prg 50
${SPLASH} clear_log
${SPLASH} log "Init SSH server..."

Смена пароля для сборки образа

1. Зайти на приставку по SSH
2. Выполнить passwd и изменить пароль
3. Выполнить копирование содержимого следующего файла:

    • Для MAG250/254/270 - /etc/shadow

    • Для MAG256, 322/324/349/351 - /etc/passwd

    • Для MAG420/424 - /etc/shadow

4. В rootfs, который будет использоваться для последующей сборки образа, заменить содержимое одноименного файла на скопированное содержимое (из п. 3).

  Пример. MAG322. Доступ к содержимому файла /etс/passwd после изменения пароля. Новое значение пароля: Qwerty1!

# 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

  • MAG3хх - закомментировать строку dropbear в скрипте /etc/rc.d/rcS.d/S60netsrv
  • MAG4хх - закомментировать строку TARGET_BIN=/sbin/dropbea в скрипте /etc/init.d/S81dropbear
  Пример. MAG322. Отключение SSH. Содержимое файла /etc/rc.d/rcS.d/S60netsrv

#!/bin/sh
. /etc/rc.d/init.d/splash-utils.sh

${SPLASH} prg 40
${SPLASH} clear_log
${SPLASH} log "Starting network services..."

#portmap &
#telnetd

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

  Пример. MAG420. Отключение SSH. Содержимое файла /etc/init.d/S81dropbear.

#!/bin/sh

TARGET_DESC="Dropbear (SSH daemon)"
# TARGET_BIN=/sbin/dropbear

source /etc/utils/shell-utils.sh

echo "[IM][system init][+][${TARGET_DESC}] Starting..."

/sbin/ifup eth0

# wait for /dev/urandom before we start dropbear
while [ 1 ]; do
if [ -c /dev/urandom ]; then
#echo "[IM][system init][+][${TARGET_DESC}] urandom is ready"
break;
else
#echo "[IM][system init][i][${TARGET_DESC}] urandom NOT found. waiting..."
sleep 0.2
fi
done

if [ -e /sbin/dropbear ]; then
if [ ! -e /etc/dropbear/dropbear_rsa_host_key ]; then
echo "[IM][system init][+][${TARGET_DESC}] HOST KEY not found. Creating host key"
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

#echo "$?" >> /ram/db.txt

if [ $? -eq 0 ]; then
echo "[IM][system init][i][${TARGET_DESC}] Started OK"
else
echo "[IM][system init][!][${TARGET_DESC}] FAILED to start!"
fi
fi

${SPLASH} prg 50
${SPLASH} clear_log
${SPLASH} log "Init SSH server..."

Включение SSH-доступа

Для восстановления SSH-доступа на STB необходимо обновить STB на версию ПО с включенным SSH-доступом.

Для включения SSH в новой версии образа ПО необходимо восстановить исходное состояние указанных файлов-скриптов (файлы в исходном состоянии предоставляются в Релизе).

Need Help

Дима – эксперт по работе с приставками серии MAG и автор этой статьи.

Была ли полезна эта статья?

Да Нет

Сожалеем.
Как можно улучшить эту статью?

Мы используем cookie-файлы, чтобы оптимизировать работу сайта и предоставить вам лучший интерфейс; а также для продвижения нашей продукции. Ознакомьтесь с нашей политикой Cookie, чтобы узнать, как именно мы используем cookie-файлы, и как вы можете это контролировать.
Если вы продолжите пользоваться сайтом или закроете это сообщение — это значит, что вы согласны с нашей Политикой конфиденциальности и разрешаете использование cookie-файлов, как описано в политике Cookie.