Article delegate-ja/426 of [1-661] on the server localhost:119
  upper oldest olders older1 this newer1 newers latest
search
[Top/Up] [oldest] - [Older+chunk] - [Newer+chunk] - [newest + Check]
[Reference:<_A425@delegate-ja.ML_>]
Newsgroups: mail-lists.delegate-ja

[DeleGate-Ja] Re: Delegateによるftp→sftp中継について
19 May 2010 23:45:59 GMT ysato@delegate.org (Yutaka Sato)
The DeleGate Project


In message <_A425@delegate-ja.ML_> on 05/20/10(03:13:41)
you JunHARANO <pveaqbrv6-aj46qzhs2lfr.ml@ml.delegate.org> wrote:
 |お世話になります、富士通)原野と申します。
 |
 |現在、delegate9.9.7を用いて、ftp→sftpへのポート中継を実現
 |させる必要から、検証を行っております。
...
 |しかしながら、Delegateをインストールしているサーバ上でDelegate
 |ポート中継を行った後、SFTPサーバの変換後ポート(115)へのパケ
 |ット送信は出ていくものの、SFTPサーバにログインが出来ていない
 |ようです。FTPクライアントツール(FFFTP)やクライアントコンソー

こちらでも再現できました。9.9.7-pre33 で問題が発生していました。
ただ、その問題はデバッグ用の "-fv" オプションを使用した場合にだけ
発生しますので、原野さんがこのオプションをお使いにならずに問題が
発生している場合には、また別の原因が考えられます。sftp/FTP ゲート
ウェイの詳細動作を追跡するための "-dG" というオプションがあります
ので、それを見て頂けると詳細がわかると思います。

[成功例(9.9.7-pre32)]
05/20 08:40:50.99 [5907] 1+0/2: --SFTPGW >> 331 Send password or passphrase for 'user'
05/20 08:40:50.99 [5907] 1+0/2: --SFTPGW << [PASS][****]
05/20 08:40:51.06 [5907] 1+0/2: --SFTP: pid=5909 pty master 10 /dev/ttyp2
05/20 08:40:51.16 [5907] 1+0/2: --SFTP >>(FORK-1) 05/20 08:40:51.06 [5907] 1+0/2: -- Forkpty(Forkpty): 5907 -> 5909^M
05/20 08:40:51.16 [5907] 1+0/2: --SFTP >>(FORK-1) 05/20 08:40:51.06 [5907] 1+0/2: --SFTP: [sftp]sftp -oPort=22 1_QK5ZWUY.ml@delegate.org^M
05/20 08:40:51.16 [5907] 1+0/2: --SFTP >>(FORK-1) 05/20 08:40:51.06 [5907] 1+0/2: ####@@@@ command [sftp]sftp -oPort=22 1_QK5ZWUY.ml@delegate.org^M
05/20 08:40:51.28 [5907] 1+0/2: --SFTP >>(FORK-1) Connecting to 192.168.1.xx...^M
05/20 08:40:52.23 [5907] 1+0/2: --SFTP >>(FORK-1/NO-NL)[Password:]
05/20 08:40:52.24 [5907] 1+0/2: --SFTP: sent the password...
05/20 08:40:52.24 [5907] 1+0/2: --SFTP >>(FORK-3) ^M
05/20 08:40:53.23 [5907] 1+0/2: --SFTP >>(FORK-3/NO-NL)[sftp> sftp> ]

[失敗例(9.9.7-pre33)]
05/20 08:34:14.93 [5715] 1+0/2: --SFTPGW >> 331 Send password or passphrase for 'user'
05/20 08:34:14.93 [5715] 1+0/2: --SFTPGW << [PASS][****]
05/20 08:34:14.95 [5715] 1+0/2: --SFTP: pid=5717 pty master 10 /dev/ttyp2
05/20 08:34:15.05 [5715] 1+0/2: --SFTP >>(FORK-1) 05/20 08:34:14.95 [5715] 1+0/2: --SFTP: [sftp]sftp -oPort=22 1_QK5ZWUY.ml@delegate.org^M
05/20 08:34:15.05 [5715] 1+0/2: --SFTP >>(FORK-1) ^M05/20 08:34:14.95 [5715] 1+0/2: ####@@@@ command [sftp]sftp -oPort=22 1_QK5ZWUY.ml@delegate.org^M
05/20 08:34:15.05 [5715] 1+0/2: --SFTP >>(FORK-1) ^MConnecting to 192.168.1.xx...^M
05/20 08:34:15.15 [5715] 1+0/2: --SFTP: sent the password...
05/20 08:34:16.12 [5715] 1+0/2: --SFTP >>(FORK-3/NO-NL)[Password:]
05/20 08:34:16.13 [5715] 1+0/2: --SFTP Password:
05/20 08:34:16.13 [5715] 1+0/2: ####@@@@ KILL sftp pid=5717
05/20 08:34:16.13 [5715] 1+0/2: Kill(5717,15)


なお、問題が "-fv" によるものの場合、当面の対処として以下のようなパッチが
有効と思います。

*** delegate9.9.8-pre3/src/sftp.c	Sun Jan 31 20:27:51 2010
--- src/sftp.c	Thu May 20 08:45:37 2010
***************
*** 291,298 ****
--- 291,301 ----
  		port = lport;
  		host = (const char*)lhost;
  	}
+ int slog = LOG_type1;
+ LOG_type1 &= ~L_CONSOLE;
  	pid = Forkpty(&pty,(char*)name);
  	if( 0 < pid ){
+ LOG_type1 = slog;
  		SftpPid = pid;
  		SftpPty = pty;
  		DEBUG("--SFTP: pid=%d pty master %d %s\n",pid,pty,name);

そうでない場合、例えばsftpへの接続から応答があるまでに非常に時間がかかる
場合(タイムアウトにより、その後の応答の解釈が壊れる)には、別の対処が
必要です。

                   9 9  
┌─┐┬┌──┬┐ //\^^ ( e ); {Do the more with the less -- B. Fuller}
├─┤│└─┐│ / 877m\_<   >_ <URL:http://www.delegate.org/delegate/>
┴ └┴──┘┴──────────────────────────────
佐藤豊@情報技術研究部門.産業技術総合研究所(独立行政法人)

  admin search upper oldest olders older1 this newer1 newers latest
[Top/Up] [oldest] - [Older+chunk] - [Newer+chunk] - [newest + Check]
@_@V