Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
ツール/GitHubGitHub/daradib/sidedoor
ネットワークセキュリティユーティリティとフレームワークリモートアクセスツール
GitHubdaradib/sidedoor

sidedoor

SSH接続デーモン for Debian/Raspbian/Ubuntu等

リポジトリを見るウェブサイト
129196年前Kitploit レビュー済み

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

sidedoor

sidedoorは、シェルスクリプトデーモンを用いてSSH接続またはトンネルを維持します。

sidedoor tunneling

主なユースケースは、ローカルSSHサーバー(または別のポート)へのリモートポートフォワードを維持することです。これにより、NATやファイアウォールでブロックされたり、モバイル機器では実用的でない受信接続を使用せずに、ローカルデバイスにアクセスできます。

SSHクライアントは、sidedoorがトンネルするリバースSSHプロキシを介してデバイスに接続できます。このプロキシサーバーは信頼されていないものでもよく、サードパーティやクラウドサービスが運用できます。

sidedoorはSSHキープアライブを有効にし、指数バックオフでSSHを再試行します。可能な限り早く再接続するために、ネットワークインターフェイスが起動(または変更)されたときにバックオフをリセットします。

その他のユースケース:

  • NATの背後にあるWebアプリケーションにアクセスするには、ローカルWebサーバー(例: ポート80)をリモートフォワードします。 リモートサーバーでWebアプリケーションへのリバースプロキシをホストし、SSL/TLS終端を処理できます。
  • SSH踏み台ホストの背後にあるオフィスネットワークサービスに接続し続けるには、それらをローカルフォワードします。
  • Raspberry Piをリモート制御してEvil Corpのテープバックアップを溶かす(非推奨!)。

sidedoorを使っていますか? バグ報告、機能リクエストはIssueを開いてください! プルリクエストも歓迎します。

Installation

sidedoorはDebianおよびDebianベースのシステム(Raspbian、Ubuntu、VyOS/EdgeOS)向けにパッケージ化されていますが、(OpenSSH) SSHクライアントのある任意のPOSIX環境で動作するはずです。

sidedoorがディストリビューションのリポジトリにある場合(Debian 9+、Ubuntu 17.04+)、パッケージマネージャーで簡単にインストールできます。

root@kitploit:~
sudo apt install sidedoor

そうでない場合は、Releasesページから手動でdebファイルをダウンロードできます。

sidedoorユーザーに完全なrootアクセス権を付与するには、sidedoor-sudoパッケージをインストールします。

Configuration

リモートサーバーとポートフォワードは/etc/default/sidedoorで設定します。SSH設定ファイルは/etc/sidedoorディレクトリにあります。

  1. /etc/default/sidedoorでREMOTE_SERVERとOPTIONSを設定します。 OPTIONSに渡す引数の例については、ブログ記事ローカルおよびリモートポートフォワーディングを例で解説とsshマニュアルを参照してください。

  2. /etc/sidedoor下のSSH設定ファイルを編集します。

    • id_rsa: リモートサーバーにアクセスするためのSSH秘密鍵。 ssh-keygenを使用してこの鍵を作成できます(既存ファイルを上書きするよう求められたらyを押します)。

      root@kitploit:~
      sudo ssh-keygen -t rsa -N '' -f /etc/sidedoor/id_rsa
      

      対応する公開鍵id_rsa.pubは、リモートユーザーの~/.ssh/authorized_keysファイルに含める必要があります。

    • known_hosts: リモートサーバーのSSHホスト鍵。

Recommendations

  • ローカルSSHサーバーをロックダウンするには、/etc/ssh/sshd_configを編集します。
    • パスワード認証を無効にします(ChallengeResponseAuthentication no、PasswordAuthentication no)。
    • デーモンのリッスンをローカルホストのみに制限します(ListenAddress ::1、ListenAddress 127.0.0.1)。
    • 変更を適用するには、sshdを再起動またはリロードします(例: sudo service ssh reload)。
  • ssh_client_config_exampleファイルを修正し、クライアントの~/.ssh/configファイルにインクルードすると、ssh、scp、rsyncなどでトンネルされたSSHサーバーに簡単にアクセスできます。

Alternatives

sidedoorは最小限の依存関係でポートトンネリングを行う軽量ソリューションを意図していますが、より多くの機能を持つ代替手段もいくつかあります。

Tor hidden service

Torは隠しサービスとして実行されるサーバーに匿名性を提供しますが、NATトラバーサルも処理します。

利点:

  • ローカルデバイスのIPアドレスやその接続状態(オン/オフ)を含むメタデータが、リバースSSHプロキシのような中間者にさらされることが少なくなります。

欠点:

  • Torはローカルデバイスとクライアントの両方にインストールして実行する必要があります。
  • Torはレイテンシが高いため、端末のフィードバック(入力エコー)が遅くなります。

デバイスとクライアントの両方でTorをインストールします。

root@kitploit:~
sudo apt install tor

公開するデバイスで、/etc/tor/torrcを編集してポート22の隠しサービスを作成します。

root@kitploit:~
HiddenServiceDir /var/lib/tor/sshd/
HiddenServicePort 22 127.0.0.1:22
HiddenServiceAuthorizeClient stealth client

"client"をカンマ区切りのクライアント名リストに置き換えると、複数の認証シークレットが生成されます。

次に、Torをリロードしてオニオンホスト名と認証データを取得します。

root@kitploit:~
sudo service tor reload
sudo cat /var/lib/tor/sshd/hostname

クライアント側では、/etc/tor/torrcを編集して、hostnameファイルに表示されているオニオンホスト名と認証データを追加します。

root@kitploit:~
HidServAuth <hostname>.onion <secret>

その後、Torをリロードしてtorsocks ssh <hostname>.onionを実行するか、~/.ssh/configファイルにProxyCommandを設定します。

root@kitploit:~
ProxyCommand torsocks nc <hostname>.onion 22

autossh

autosshは、sidedoorと同様にsshを起動し、必要に応じて再起動します。

いくつかの違いは以下の通りです:

  • sidedoorはミニマルなシェルスクリプトデーモンです。autosshはより拡張性が高く設定可能なCプログラムです。
  • sidedoorはSSHキープアライブ(ServerAliveIntervalとServerAliveCountMax)を有効にします。これらはOpenSSHの最新バージョンで利用可能です。autosshはポートフォワードのループを介してデータを送信することでsshを監視します(この機能はSSHキープアライブより古い)。ただし、-M 0オプションで無効化できます。
  • sidedoorはサービスとして自動的に実行されることを意図しているため、パッケージにはinit/systemdスクリプトと設定ファイルが含まれています。autosshにはinit/systemdスクリプトは含まれていません(Debianバグ#698390)。
  • sidedoorはリモートコマンドと擬似tty割り当てを無効にします。対話的な使用には、SSHキープアライブまたはMoshを使ったautosshを検討してください。
  • sidedoorはsshがゼロ以外の終了ステータスで終了した場合、常に再試行します。autosshは最初の試行でsshが早すぎて終了した場合、再試行しません。これはネットワーク接続やDNS解決が壊れている場合、特にモバイルデバイスで発生する可能性があります。sidedoorとautosshの両方に再試行バックオフロジックがあります。
  • sidedoorはネットワークインターフェイスが起動されたときに再試行バックオフをリセットし、if-up.dスクリプトからSIGUSR1を受け取ることで、可能な限り早く再接続を試みます。autosshにはネットワーク状態フックはありません。

Other alternatives

  • OpenVPN
  • PageKite
  • ssh_tunnel

License

Copyright 2015-2017 Dara Adib.

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see https://www.gnu.org/licenses/.

ツールをダウンロード
  • 必要に応じて、/etc/sidedoor/authorized_keysファイルにSSH公開鍵を追加することで、ローカルのsidedoorユーザーへのリモートアクセスを許可します。 /etc/sidedoor/authorized_keysは~sidedoor/.ssh/authorized_keysへのシンボリックリンクです。 インストールされている場合、sidedoor-sudoパッケージはこのユーザーに完全なrootアクセス権を提供します。

  • 変更を適用するために、sidedoorサービスを再起動します。

    root@kitploit:~
    sudo service sidedoor restart