Skip to content

z80oolong/openssh-debian-noroot-fix

Repository files navigation

Debian noroot 環境において OpenSSH を動作させるための差分ファイル

概要

これらの差分ファイルは、標準的な SSH サーバである OpenSSH のうち、安定版の OpenSSH 及び 開発版の OpenSSH において、一部 bug fix を行い、 Debian noroot 環境において正常に動作させる為の差分ファイルです。

これらの差分ファイルでは、 Android OS 5.0 以降 における Debian noroot 環境において、擬似端末デバイスファイルである /dev/pts/* の所有権及び権限の変更が出来ない制約を回避し、また、システムコール link(2) の実行を回避しています。

差分ファイルの適用とコンパイル

OpenSSH のソースコードに差分ファイルを適用するには、安定版の OpenSSH には、差分ファイル openssh-x.ypz-fix.diff (ここに、 x.y は安定版のバージョン番号であり、 pz はパッチレベル番号) を、開発版の OpenSSH には、差分ファイル openssh-HEAD-xxxxxxxx-fix.diff (ここに、 xxxxxxxx は、HEAD の commit ID 番号) をそれぞれ適用して下さい。

例えば、安定版の OpenSSH のソースコードに openssh-x.ypz-fix.diff を適用するには、安定版の OpenSSH のソースコードが置かれているディレクトリより、以下のようにして差分ファイル openssh-x.y-fix.diff を適用します。

 $ patch -p1 < /path/to/openssh-x.ypz-fix.diff
 (ここに、/path/to/diff は、 openssh-x.ypz-fix.diff が置かれたディレクトリのパス名)

そして、 開発版の OpenSSH のソースコードに dropbear-HEAD-xxxxxxxx.diff を適用するには、 開発版の OpenSSH のソースコードが置かれているディレクトリより、以下のようにして差分ファイル dropbear-HEAD-xxxxxxxx.diff を適用します。

 $ patch -p1 < /path/to/openssh-HEAD-xxxxxxxx.diff
 (ここに、/path/to/diff は、 openssh-HEAD-xxxxxxxx.diff が置かれたディレクトリのパス名)

なお、これらの差分ファイルを適用した OpenSSH のソースコードを Debian noroot 環境においてコンパイルするには、./configure コマンドの実行時に以下のようにして、環境変数 CFLAGS-DDEBIAN_NOROOT を設定する必要があります。

 $ CFLAGS="-DDEBIAN_NOROOT" ./configure --prefix=...  # (以下、適宜オプションを設定すること。)

謝辞

なお、これらの差分ファイルの作成に当たっては、 termux の開発コミュニティ による差分ファイルを参考にしました。 termux の開発コミュニティの皆様には心より感謝致します。

使用条件

本差分ファイルは標準的な SSH サーバである OpenSSH に適用する差分ファイルであり、 Z.OOL. (mailto:zool@zool.jpn.org) が著作権を有します。

従って、本差分ファイルは OpenSSH のライセンスと同様である BSD License に基づいて配布されるものとします。詳細については、本リポジトリに同梱する LICENSE を参照して下さい。

About

Debian noroot 環境において OpenSSH を動作させるための差分ファイル

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published