在Debian非root环境中安装基于dropbear的SSH服务器

首先

Debian noroot 是一款在 Android 操作系统上构建 Debian 环境而无需获取 root 权限的应用程序。

只要是装有高性能 CPU 和大内存容量的 Android 设备,通过引入 Debian noroot,就可以在 Android 设备上实现非常流畅的 Debian 环境。

Debian noroot 环境中启动 SSH 服务器后,您可以轻松使用安装了 SSH 客户端的远程 PC 终端操作 Debian noroot 环境,这非常实用。

但是,当在 Debian noroot 环境中尝试安装常用于各种 Linux 发行版的 OpenSSH 并启动sshd守护进程时,会输出以下错误信息,并且sshd无法成功启动。

 $ sudo bash
 # apt-get install openssh-server

 ... # (ここで sshd を起動する為の適切な各種設定)

 # /etc/init.d/ssh start
 Starting OpenBSD Secure Shell server: sshd/var/run/sshd must be owned by root and not group or world-writable.
 failed!
 #

这个问题可能是由于目录/var/run/sshd的所有者不是root,而且对于组和所有用户都是可写的状态,并且无法从用户权限更改目录/var/run/sshd的所有者和权限。

因此,我们在Debian non-root环境中,将OpenSSH替换为轻量级的dropbear作为SSH服务器。

接下来,我在Debian noroot环境中进行了用户密码更改的设置之后,临时启动了dropbear守护进程,并通过使用密码验证的SSH连接进行了远程PC终端的连接确认。

我通过在远程PC终端上安装SSH客户端,并生成用于SSH客户端的公钥和私钥,然后将公钥传输到Debian noroot环境中,并从远程PC终端使用公钥验证的SSH进行连接确认。

最后,我进行了Debian noroot环境启动时自动启动dropbear守护进程的配置。

通过上述设置,在启动Debian noroot环境后,可以从远程PC终端安装了SSH客户端,而无需触摸Android操作系统设备,从而可以操作Debian noroot环境。

本篇介绍了在Debian noroot环境中引入dropbear,并通过在各种终端设备上安装SSH客户端来创建一个能够进行远程登录的环境的一系列步骤。

首先,在「将Dropbear连接到目标」一章中,我们将介绍如何在Debian noroot环境中安装Dropbear及其相关软件包的方法。

接下来,我们将在“基于密码认证的SSH连接配置”章节中介绍一种针对上一章中在Debian无root环境中安装的dropbear进行密码认证的SSH远程登录设置的方法。

然后,在“基于公钥认证的SSH连接设置”一章中,将在连接源PC终端生成的公钥传输到连接目标Debian noroot环境,并针对连接目标Debian noroot环境中的dropbear进行基于公钥认证的SSH远程登录设置的方法进行描述。

接下来,我们将在”自动化启动连接的dropbear守护程序”章节中,讨论在Debian noroot环境中,在启动时自动启动已在前两章中进行设置和操作确认的dropbear的配置方法。

最后,在”结论”这一章节中,将陈述本文的结论。

除非特别说明,在本文中,SSH客户端和Debian noroot环境作为远程登录的连接目标以及连接源的各种环境设置如下所示。

Debian noroot 環境が動作している端末の IP アドレス: 192.168.0.1

Debian noroot 環境上で動作する dropbear デーモンが待ち受ける SSH のポート番号: 12022

Debian noroot 環境におけるユーザ名 (環境変数 USER の値): u0_a200
接続元にインストールされた SSH クライアント: 各種 Linux ディストリビューションにインストールされた OpenSSH_6.7p1
接続元にインストールされた SSH クライアントにおけるユーザ名 (環境変数 USER の値): z80oolong

将 dropbear 安装到连接目标上。

这一章将介绍如何在用作SSH远程登录连接目标的Debian noroot环境中引入dropbear。

在本文中,我们将在Debian noroot环境中使用dropbear作为SSH服务器启动。本文将使用Linuxbrew,这是一个基于获取和构建Linux各发行版源代码的包管理系统,来安装适用于Debian noroot环境的dropbear。

首先,根据”在Debian非root环境中安装Linuxbrew”的帖子和Linuxbrew的官方页面,我们将安装与Linuxbrew依赖的软件包以及Linuxbrew本体的存储库。

 $ sudo apt-get install build-essential curl file git python-setuptools ruby
 $ sudo apt-get install m4 texinfo libbz2-dev libcurl4-openssl-dev libexpat-dev libncurses-dev zlib1g-dev gettext    # 必要に応じて任意に導入する。
 $ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Linuxbrew/install/master/install)"

另外,如果要在未搭载32位ARM架构和64位x86架构的移动设备上安装Debian nooroot环境并引入Linuxbrew,执行前述Linuxbrew主要仓库的引入命令时,可能会在中途失败,无法成功完成引入过程,原因是无法获取Linuxbrew使用的ruby处理系统所需的bottle文件。

因此,在这些移动设备的环境中,根据“替代安装方法:当Linuxbrew自动安装脚本异常终止时”的帖子,我们需要使用以下方法来安装Linuxbrew,而不是使用Linuxbrew开发社区提供的安装脚本。

 $ sudo apt-get install build-essential curl file git python-setuptools ruby
 $ sudo apt-get install m4 texinfo libbz2-dev libcurl4-openssl-dev libexpat-dev libncurses-dev zlib1g-dev gettext    # 必要に応じて任意に導入する。
 $ sudo apt-get install libssl-dev libreadline6-dev libyaml-dev libgdbm-dev libdb-dev
 $ sh -c "$(curl -fsSL https://raw.githubusercontent.com/z80oolong/linuxbrew-altinstall/master/install.sh)"

然后,我们将在 ${HOME}/.bashrc 这个bash的初始化文件中,根据以下方式设置环境变量,并重新启动bashrc。

...
# for Linuxbrew

export HOMEBREW_PREFIX="/home/linuxbrew/.linuxbrew"
export PATH="${HOMEBREW_PREFIX}/sbin:${HOMEBREW_PREFIX}/bin:$PATH"
export MANPATH="${HOMEBREW_PREFIX}/share/man:${MANPATH}"
export INFOPATH="${HOMEBREW_PREFIX}/share/info:${INFOPATH}"
export HOMEBREW_NO_AUTO_UPDATE=1
...

接下来,执行以下命令 brew tap 以及 brew install 命令,在适合 Debian noroot 环境的情况下安装 dropbear。

 $ brew tap z80oolong/debian-noroot
 $ brew install -dv z80oolong/debian-noroot/dropbear

在这种情况下, 虽然编译源代码可能会花费一些时间,但您需要耐心等待安装完成。如果您的安卓设备具备足够的处理能力和内存容量,您也可以同时启动其他必需的安卓操作系统应用程序,然后等待Linuxbrew的安装完成。

此外,在 dropbear 中进行基于 SFTP 的文件传输时,需要使用 apt-get 命令安装 OpenSSH 服务器附带的 openssh-sftp-server 包作为 SFTP 服务器。

 $ sudo apt-get install openssh-sftp-server

使用基于密码验证的SSH连接来进行配置

本章介绍了在Debian noroot环境中安装的dropbear,并讲述了基于密码认证的SSH远程登录的配置。

首先,在「更改Debian noroot环境用户密码」的部分中,我们将讨论在设置远程登录到安装了dropbear的Debian noroot环境之前,关于更改Debian noroot环境用户密码的设置。

以下是关于设置连接Debian noroot环境中dropbear的SSH远程登录的连接,并反映主要环境变量(如日语环境)的连接目标$HOME/.bashrc的设置。

然后,在”设置连接目标为$HOMEBREW_PREFIX/etc/dropbear/dropbear.d”这一节中,我们会描述有关在Debian无根环境上的dropbear守护进程等待的端口号等信息的设置,这是通过dropbear守护进程的启动脚本$HOMEBREW_PREFIX/etc/dropbear/dropbear.d来完成的。

最后,在“基于密码认证的SSH连接验证”一节中,我们将描述在Debian noroot环境中使用基于密码认证的SSH进行远程登录来确认连接的方法。

更改Debian noroot环境用户的密码。

在本节中,我们将讨论如何从远程的已安装SSH客户端的PC终端,通过基于密码认证的SSH远程登录到Debian noroot环境的dropbear。我们将介绍如何将Debian noroot环境用户的密码更改为只有用户本身可知,并进行相应的设置。

在Debian noroot环境中,可以像在普通Debian环境中一样,通过sudo命令使用passwd命令来更改任意用户的密码。

就是说,通过执行以下命令 passwd,将用户 u0\_a200 的密码更改为除用户本身以外的其他人无法知道的密码。

  $ env LANG=C LC_ALL=C sudo passwd u0_a200
  Changing password for u0_a200
  New UNIX password:            # (ユーザ自身以外に知り得ないパスワードを入力)
  Retype new UNIX password:     # (前に入力したパスワードを再入力)
  passwd: all authentication tokens updated successfully
  $

通过上述命令passwd的执行,可以更改Debian noroot环境中用户的密码。

设置连接到 $HOME/.bashrc 的位置。

在Debian noroot环境中,通过SSH远程登录到dropbear的方法中,为了反映日语环境和Debian noroot环境的运作所必需的主要环境变量,我们会介绍配置连接目标的$HOME/.bashrc的方法。

如上所述,在基于密码验证的SSH远程登录连接确认中,可以明显地看出,在使用dropbear进行SSH远程登录的环境中,无法反映与日本语言环境和输入法相关的环境变量。

在这种使用 SSH 进行远程登录的环境中,关于连接目标和连接源的 IP 地址和端口号的信息被保存在环境变量 SSH_CONNECTION 中。

我们将在连接到远程 SSH 的登录shell 的初始化文件 ${HOME}/.bashrc 中添加以下描述。

...
# SSH によるリモートログイン環境の場合は、主要な環境変数を $HOME/.bashrc で再定義する。

case `echo ${SSH_CONNECTION} | cut -d ' ' -f 1` in
  192.168.0.*)
    export TZ="Asia/Tokyo"
    export LANG="ja_JP.UTF-8"
    export LC_ALL="ja_JP.UTF-8"
    export LANGUAGE="ja"
    export XMODIFIERS="@im=fcitx"
    export GTK_IM_MODULE=fcitx
    export QT_IM_MODULE=fcitx
    export QT4_IM_MODULE=fcitx
    export CLUTTER_IM_MODULE=fcitx
    export VTE_CJK_WIDTH=1
  ;;
...

esac
...

根据上述描述,在通过SSH进行远程登录的环境中,将反映与日语环境相关的重要设置的环境变量。

设置连接到 $HOMEBREW_PREFIX/etc/dropbear/dropbear.d 的目标。

本节将介绍在 Debian noroot 环境中的 dropbear 中,通过设置 dropbear 守护进程的启动脚本 ${HOMEBREW_PREFIX}/etc/dropbear/dropbear.d,来设置 dropbear 守护进程监听的端口号并阻止 root 登录等的方法。

首先,我们需要根据需要编辑dropbear守护进程的启动脚本${HOMEBREW_PREFIX}/etc/dropbear/dropbear.d。需要编辑的地方有以下两个地方。

...
PORT=12022
#SERVER_OPTION="-W 65536 -s -w -g"
SERVER_OPTION="-W 65536 -w -g"
...

首先,在环境变量PORT中,指定dropbear守护程序监听的端口号。该端口号必须大于或等于1024。

然后,在环境变量SERVER_OPTION中指定要添加到dropbear守护进程的参数。在本文中,我们将以以下方式添加参数。

-W … receive_window_buffer のサイズを指定する。この数値が大きいほど接続速度が若干早くなる。

-w … root によるログインを抑止する。

-g … root によるパスワードを用いたログインを抑止する。

另外,我们暂时将以下参数禁用。

-s … パスワードを用いたログインを抑止する。

根据上述描述,在Debian noroot环境中,通过SSH远程登录将在端口号12022上等待,并启用使用用户密码的身份验证,完全禁止root登录。

基于密码认证的SSH连接确认。

本章将介绍一种在Debian noroot环境中临时启动dropbear守护进程,并使用基于密码认证的SSH进行远程登录来确认连接的方法。

首先,您需要在 dropbear 的启动脚本 ${HOMEBREW_PREFIX}/etc/dropbear/dropbear.d 下执行以下操作,以启动连接到 Debian noroot 环境的 dropbear 守护进程。

  $ $HOMEBREW_PREFIX/etc/dropbear/dropbear.d start
  Start Dropbear Daemon...
  Creating PID file "/var/run/dropbear.pid".
  Appending to /var/log/dropbear.log
  $

然后,在远程PC终端上安装的SSH客户端ssh命令中启动如下。

  $ ssh -l u0_a200 -p 12022 192.168.0.1
  The authenticity of host '192.168.0.1 (192.168.0.1)' can't be established.
  RSA key fingerprint is 11:22:33:44:55:66:77:88:99:aa:bb:cc:de:ad:be:ef.
  Are you sure you want to continue connecting (yes/no)?    # (ここでは、そのままリターンキーを入力)
  ...
  u0_a200@192.168.0.1's password:   # (ここで、 Debian noroot のユーザのパスワードを入力)

  The programs included with the Debian GNU/Linux system are free software;
  the exact distribution terms for each program are described in the
  individual files in /usr/share/doc/*/copyright.

  Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
  permitted by applicable law.
  $ 

如果像上面一样显示了dropbear的横幅,并且远程登录shell也启动了,那么可以判断配置已经正确进行。

使用基于公钥认证的 SSH 进行连接的配置设置。

本章将介绍在连接到Debian noroot环境后,关于如何配置基于公钥认证的SSH远程登录的Dropbear。

首先,在”生成连接端的公钥和私钥”一节中,我们将介绍生成SSH远程登录所需的公钥和私钥对的方法,这是基于公钥认证的公钥方式。

下面将会介绍如何将在前一节生成的公钥传输到作为SSH远程登录目标的Debian noroot环境中。

然后,在“设置链接源的$HOME/.ssh/config”一节中,我们将说明与SSH远程登录的连接源相关的必要设置,这些设置位于SSH客户端的配置文件${HOME}/.ssh/config中。

最后,在“基于公钥认证的SSH连接确认”部分,我们将描述在Debian noroot环境中使用基于认证的SSH进行远程登录来确认连接的方法。

生成在连接源中的公钥和私钥

在本节中,将介绍通过SSH在远程PC终端登录的连接来源的方法,该方法使用ssh-keygen命令生成用于SSH客户端的密钥对,包括私钥和公钥。

首先,执行ssh-keygen命令以生成公钥和私钥的对,使用公钥密码学生成公钥和私钥对。在本文中,我们将使用基于RSA的密钥对生成方式。

 $ ssh-keygen -t rsa -f /home/z80oolong/.ssh/id_rsa.foo                                                                                             
 Generating public/private rsa key pair.                                                                                                                             
 Enter passphrase (empty for no passphrase):    # ここで、パスワードの入力は空文字列を含め任意 (空文字列とすることを勧めます) Enter same passphrase again:                   # 再度、空文字列を含め同一のパスワードを入力
 Your identification has been saved in /home/z80oolong/.ssh/id_rsa.foo.
 Your public key has been saved in /home/z80oolong/.ssh/id_rsa.foo.pub.
 ...
 $

通过执行上面的 ssh-keygen 命令,您可以在连接源 PC 终端的目录 /home/z80oolong/.ssh 下生成私钥文件 id_rsa.foo 和公钥文件 id_rsa.foo.pub。

将公钥从源连接传输到目标连接

本节将讨论将在前一节中通过 ssh-keygen 命令生成的公钥文件 /home/z80oolong/.ssh/id_rsa.foo.pub 传输到目标 Debian noroot 环境的方法。

在本文中,我们使用ssh-copy-id命令来从连接源传输公钥文件到连接目标,并进行一些简单的命令以进行连接源环境的适当配置。

首先,执行以下命令 ssh-copy-id,将公钥文件 /home/z80oolong/.ssh/id_rsa.foo.pub 传输。

  $ ssh-copy-id -i /home/z80oolong/.ssh/id_rsa.foo.pub -p 12022 u0_a200@192.168.0.1
  Password: # (ここで、 Debian noroot のユーザのパスワードを入力)
  ...
  Now try logging into the machine, with "ssh 'u0_a200@192.168.0.1'", and check in:
  ...

通过上述的ssh-copy-id命令执行,连接源PC终端生成的公钥文件”/home/z80oolong/.ssh/id_rsa.foo.pub”将被传输到目标Debian noroot环境,并且该公钥文件的内容将自动附加到目标目录”/home/u0_a200/.ssh”下的公钥列表文件”authorized_keys”的最后一行。

设置连接源的 $HOME/.ssh/config。

在这一节中,我们将讨论在远程 PC 终端上安装的 SSH 客户端的配置文件 ${HOME}/.ssh/config,该文件用于设置 SSH 远程登录所需的连接目标的 IP 地址、端口号和认证方式等。我们将要描述关于使用 SSH 进行远程登录时所需的配置设置方法。

首先,您需要在远程连接的PC终端上通过SSH客户端安装配置文件${HOME}/.ssh/config,并添加以下描述。

...
Host noroot
  HostName               192.168.0.1        # Debian noroot 環境が動作している端末の IP アドレス
  Port                   12022              # Debian noroot 環境上で動作している dropbear のポート番号
  PasswordAuthentication no                 # パスワード認証による接続を行わない
  PubkeyAuthentication   yes                # 公開鍵認証による接続を行う
  User                   u0_a200            # Debian noroot 環境上でのユーザ名 
  IdentityFile           ~/.ssh/id_rsa.foo  # 公開鍵認証方式での認証に用いる公開鍵と対になる秘密鍵が存在するパス
  RequestTTY             yes                # 標準入力が TTY の場合はTTYを要求する
...

而且,如果在上述设置的基础上添加下面的描述,那么就可以在后续章节中使用之后提到的 X11 转发功能。

Host noroot
  HostName               192.168.0.1        # Debian noroot 環境が動作している端末の IP アドレス
  Port                   12022              # Debian noroot 環境上で動作している dropbear のポート番号
  PasswordAuthentication no                 # パスワード認証による接続を行わない
  PubkeyAuthentication   yes                # 公開鍵認証による接続を行う
  User                   u0_a200            # Debian noroot 環境上でのユーザ名 
  IdentityFile           ~/.ssh/id_rsa.foo  # 公開鍵認証方式での認証に用いる公開鍵と対になる秘密鍵が存在するパス
  RequestTTY             yes                # 標準入力が TTY の場合は TTYを要求する
  ForwardX11             yes                # ← ForwardX11    yes の行を追記する
  ForwardX11Trusted      yes                # ← ForwardX11Trusted yes の行を追記する

使用公開密钥认证的 SSH 连接确认

本节将介绍在连接的Debian noroot环境中临时启动dropbear守护进程,并使用基于密码认证的SSH进行远程登录的连接确认方法。

首先,在Debian noroot环境中,使用”ps awxu | grep dropbear”命令来确认dropbear守护程序是否已启动。

  $ ps awxu | grep dropbear
  ...(略)...
  u0_a200  27085  0.0  0.0   2564     0 ?        Ss    2月13   0:00 /home/linuxbrew/.linuxbrew/opt/dropbear/sbin/dropbear -p 12022 -d /home/linuxbrew/.linuxbrew/etc/dropbear/dropbear_dss_host_key -r /home/linuxbrew/.linuxbrew/etc/dropbear/dropbear_rsa_host_key -r /home/linuxbrew/.linuxbrew/etc/dropbear/dropbear_ecdsa_host_key -W 65536 -s -w -g -F -E
  ...(略)...

如果dropbear守护进程未启动,则在dropbear的启动脚本${HOMEBREW_PREFIX}/etc/dropbear/dropbear.d上执行以下操作,重新启动Debian noroot环境连接的dropbear守护进程。

  $ $HOMEBREW_PREFIX/etc/dropbear/dropbear.d start

然后,在远程连接的个人电脑终端上安装的SSH客户端ssh命令,以下面的方式启动。

  $ ssh noroot
  ...(ここで、秘密鍵と公開鍵の対にパスワードを設定していれば入力を促され、設定していなければそのままログインプロンプトが表示される。)...
  The programs included with the Debian GNU/Linux system are free software;
  the exact distribution terms for each program are described in the
  individual files in /usr/share/doc/*/copyright.

  Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
  permitted by applicable law.
  $ 

如果显示 dropbear 的横幅并启动远程登录 shell,则说明配置已经成功完成。

如果在前面提到的设置中启用了X11转发功能,您可以从远程登录shell中以如下方式启动xeyes命令,如下图所示,xeyes的执行结果即目光将显示在连接源的远程PC终端屏幕上。

 $ xeyes
(xeyes)

最后,为了安全起见,我们将在dropbear守护程序的启动脚本${HOMEBREW_PREFIX}/etc/dropbear/dropbear.d中修改,以阻止使用密码的SSH远程登录。

...
PORT=12022
SERVER_OPTION="-W 65536 -s -w -g"  # (一旦無効にした -s オプションを再度追記する。)
...

通过以上的设置,dropbear守护进程阻止了使用密码进行的SSH远程登录。

自动启动dropbear守护进程的连接

本章将介绍一种方法,该方法可以在启动Debian noroot环境后自动配置连接设置,并实现通过之前的章节中设置的SSH远程登录连接环境。

在Debian noroot环境启动后,要自动启动通过SSH进行远程登录的连接环境,在Debian noroot环境中启动窗口管理器,并在用于配置桌面环境的shell脚本 /startx.sh 中添加以下设置。

...
fakeroot-tcp /usr/bin/env PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin dbus-daemon --system
# ↓ ${HOMEBREW_PREFIX}/etc/dropbear/dropbear.d を起動するコマンドを追加。念の為に末尾の & を忘れないこと。
/home/linuxbrew/.linuxbrew/etc/dropbear/dropbear.d start &
...
# ↓ xfce-session の直後に /home/linuxbrew/.linuxbrew/etc/dropbear/dropbear.d を停止するコマンドを追加。
dbus-launch --exit-with-session sh -c 'xfce4-session ; /home/linuxbrew/.linuxbrew/etc/dropbear/dropbear.d stop; setsid sh -c "cd /proc/ ; for f in [0-9]* ; do [ \$f = \$\$ ] || kill -9 \$f ; done"' &
...

將以下文本以中文進行翻譯:
在啟動 dbus-daemon 守護進程的行之後,通過 shell 腳本 ${HOMEBREW_PREFIX}/etc/dropbear/dropbear.d 以 start 運行以啟動 dropbear,在 Debian noroot 環境中登出並在 xfce-session 命令結束之後,通過 /etc/init.d/dropbear 腳本以 stop 運行以停止設置。

根据上述的设置,启动Debian noroot环境作为SSH远程登录的目标。之后,dropbear守护程序会自动启动,在与前几章中设置的SSH远程登录连接被确认的终端上,我们可以使用SSH客户端从远程的SSH远程登录接入终端进行远程登录,并远程操作Debian noroot环境。

结论是…… shì…)

在Debian noroot环境中,由于/var/run/sshd目录的权限和所有者的问题,安装广泛使用的OpenSSH在各种Linux发行版上并不适合;因此,我们选择了轻量级的SSH服务器dropbear作为Debian noroot环境中的SSH服务器,并用它来构建通过SSH进行远程登录的环境。

首先,我确认通过基于密码认证的SSH远程登录,可以从连接源的SSH客户端终端连接到Debian noroot环境。

确认在连接源SSH客户端终端生成的密钥对中,将公钥传输到Debian noroot环境,并通过对连接源SSH客户端终端进行适当的配置,基于公钥认证的SSH远程登录能够从连接源SSH客户端终端连接到Debian noroot环境。

我在/startx.sh中添加了启动dropbear守护进程的配置,以便在Debian noroot环境启动时自动启动通过SSH进行远程登录。

通过以上的设置,在启动了安装了Debian noroot环境的Android操作系统设备后,我们可以在不接触正在运行的Debian noroot环境的Android设备的情况下,通过远程安装SSH客户端的PC设备远程操作Debian noroot环境。

另外,由于dropbear具备通过SSH进行远程登录时的X11转发功能,我们也意识到可以将在Debian noroot环境下启动的X客户端软件显示在远程的PC终端上。

感谢辞

在撰写本文时,我由衷地感谢pelya先生,他是开发了Debian noroot环境,并使得在Android操作系统终端上实现了非常流畅的Debian环境的开发者。

在接下来,关于引入 dropbear 时使用的 Linuxbrew 的安装,我参考了 thermes 先生的 “Linuxbrew のススメ” 以及 Linuxbrew 的官方页面和其他相关文章。我由衷地感谢 thermes 先生和 Linuxbrew 开发社区的各位。

此外,在Dropbear的設置方面,我參考了Dropbear官方網站。我由衷地感謝Dropbear的作者Matt Johnston先生和其他與Dropbear相關的所有人。

于是,我查阅了许多与SSH相关的网页,获取了关于SSH的各种设置的信息。对所有参与SSH连接的人们,我由衷地表示感谢。

最后,我由衷地感谢与Debian noroot环境、Android操作系统以及Debian环境相关的每一个人。

追加信息及告知

2017年10月5日现在的补充和告知

在Debian no root环境中,通过使用apt-get安装的dropbear在Android OS 5.0上无法正常运行,我们在这里很抱歉并且进行了更正。同时,我们基于使用Linuxbrew安装dropbear的方法,对本文进行了大幅修改。请您谅解。

2018/01/22 目前所添加的文字和声明

我们已经对在64位ARM架构等环境中安装Linuxbrew到Debian noroot环境的解决方法进行了补充,并对本文进行了修改。请您确认。

2018年02月04日的最新附注和拒绝

由于创建和发布了一个可替代Linuxbrew自动安装的脚本,我们对本文进行了修改。请谅解。

2018/02/14 目前的更新和通知:

由于根据密码验证的 SSH 连接设置的描述添加了附加说明,我们对本文进行了大幅修改。请理解。

2018年06月08日 現在的附加和通知

由于更新了用于自动安装Linuxbrew的脚本的替代版本,并且更改了执行替代脚本的方法,因此我对本文进行了修改。请您谅解。

2018/10/11 目前的附加内容和拒绝

请注意,在执行用于替代自动安装 Linuxbrew 的脚本时,我已经对编译 Linuxbrew 使用的源代码的Ruby处理系统所需的软件包做出了更正。请谅解。

2018年12月29日的更新、道歉和更正

在描述配置X轉發的 “設定源$HOME/.ssh/config” 中存在以下錯誤。以下是正確的配置設定。

Host noroot
  ...()...
                                            # ← (誤) X11Forwarding yes の行を追記する
  ForwardX11             yes                # ← (正) ForwardX11  yes の行を追記する
                                            # ← (誤) X11ForwardingTrust yes の行を追記する
  ForwardX11Trusted      yes                # ← (正) ForwardX11Trusted   yes の行を追記する

我向大家致以最诚挚的歉意,因为给大家带来了不便,在此也纠正连接源的 $HOME/.ssh/config 配置。

广告
将在 10 秒后关闭
bannerAds