yuu_nkjm blog


2011-11-25(Fri) [長年日記]

[ssh][Stone] StoneによるSSH over HTTP(HTTPS)

HTTP Proxyを介してしか,インターネットに出られない.しかし,インターネット上にあるサーバの管理をする必要があるんだよ!ってときに頑張ってトンネルする方法.

ダウンロード

[nkjm@info ~/src]$ wget http://www.gcd.org/sengoku/stone/stone-2.3e.tar.gz
[nkjm@info ~/src]$ tar zxf stone-2.3e.tar.gz
[nkjm@info ~/src]$ cd stone-2.3d-2.3.2.7/

コンパイル

[nkjm@info ~/src/stone-2.3d-2.3.2.7]$ vi Makefile
# 以下のように編集.
linux:
        $(MAKE) FLAGS="-O -Wall -DCPP='\"/usr/bin/cpp -traditional\"' -DPTHREAD -DUNIX_DAEMON -DPRCTL -DSO_ORIGINAL_DST=80 -DUSE_EPOLL -D_GNU_SOURCE $(FLAGS)" LIBS="-lpthread $(LIBS)" stone
 
[nkjm@info ~/src/stone-2.3d-2.3.2.7]$ make linux-ssl

stoneをLinuxでコンパイルする ≪ 突然消失するかもしれないブログによると,Makefileで-D_GNU_SOURCEというオプションを指定すれば,64bit OS上でコンパイルできるようになるらしい.makefileからlinuxの項を見つけ出し,オプションを追加してからmake.

また,コンパイル時に,openssl/crypto.hがないよというエラーが出た場合は,yastでlibopenssl-develを入れる.

SSLの設定

[nkjm@info ~/src/stone-2.3d-2.3.2.7]$ openssl req -new -outform pem -out stone.cert -newkey rsa:1024 -keyout stone.key -nodes -rand ./rand.pat -x509 -batch -days 35600
cat stone.cert stone.key > stone.pem
cp -a stone.pem /etc/ssl/certs/

サーバ側の実行

stone -p localhost:22 443/ssl

クライアント側の実行

クライアントがWindowsであれば,Windows用のバイナリを拾って来て使う.

stone -p localhost:10443/ssl 10022 -- proxy:8080/http 10443 "CONNECT server:443 HTTP/1.0"
とか
stone -p localhost:10443/ssl 10022 -- server:443 10443
本日のリンク元
その他のリンク元
検索

トップ «前の日記(2011-11-24(Thu)) 最新 次の日記(2011-11-26(Sat))» 月表示 編集 設定
2006|01|06|12|
2007|06|09|
2008|01|03|04|06|07|08|09|10|12|
2009|01|02|05|06|07|08|10|11|12|
2010|03|04|05|06|07|08|09|10|11|
2011|01|02|03|04|05|06|07|08|09|11|12|
2012|01|02|04|06|07|08|10|11|12|
2013|01|02|03|07|08|10|11|12|
2014|01|02|04|05|06|07|08|09|10|11|
2015|01|02|07|11|12|
2016|01|03|05|07|08|09|