Putty その3 【パティ】 (316レス)
Putty その3 【パティ】 http://mevius.5ch.net/test/read.cgi/unix/1302006799/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
レス栞
176: 名無しさん@お腹いっぱい。 [sage] 2013/08/22(木) NY:AN:NY.AN >>175 すみませぬ。s/etc/tmp/ の間違いです。orz... ssh -A などで、agent forwarding して *nix サーバにアクセスすると、 /tmp/ssh-RANDOM_STRING/agent.PID っていうソケットファイルがあって、 それを適切に読み書きすることで、フォワードしたエージェントで 認証を行うことが出来るのです。 通常は、ログインしたシェルとその環境変数を引き継いだサブシェルなどで つかうのですが、screen や tmux などで保存しておいたセッションからも パーミッションがあれば普通につかえるので、それを自動で行うスクリプトを利用しています。 そのスクリプトを走らせると、putty.exe が落ちてしまう、という。 ttp://www.gcd.org/blog/2006/09/100/ のように。 短く言えば screen の中で SSH_AUTH_SOCK を設定して、 ssh-add -l することで落ちてしまいます。 http://mevius.5ch.net/test/read.cgi/unix/1302006799/176
177: 名無しさん@お腹いっぱい。 [sage] 2013/08/22(木) NY:AN:NY.AN >>176 ええと、今ひとつ再現条件が理解できてないんだけど、 [前提] * putty.exeはputty-gdi-20130807.zipのものを利用 * pageant.exeはputty-gdi-20130807.zipのものでも本家公式のものでもどちらでもよい [再現手順] 1. pageant.exeを起動 2. 適切な鍵を手順1で起動されたプロセスに読み込む 3. putty.exeを起動 4. 「putty設定」のダイアログの「接続」→「SSH」→「認証」の「Pageantを使って認証する」「エージェントフォワーディングを認める」にチェックを入れる 5. 「putty設定」のダイアログの「セッション」の「ホスト名(またはIPアドレス)に接続先のホスト名を入力し、「開く」をクリック 6. ログインした先でssh-add -lを実行する [発生する症状] 手順6を実行した瞬間にputty.exeのプロセスが落ちる という理解であってます? もしあっているのなら、少なくともうちの環境では症状は発生しませんでした クライアントとサーバの環境はそれぞれ以下の通りです [クライアント] OS: 64bit版 Windows 7 Pro SP1 バイナリ: putty.exe,pageant.exe共にputty-gdi-20130807.zipの32bitバイナリを使用 鍵: Protocal 2 RSA 4096bit [サーバ] OS: CentOS 6.4 x86_64 OpenSSH: OpenSSH_5.3p1, OpenSSL 1.0.0-fips 29 Mar 2010 http://mevius.5ch.net/test/read.cgi/unix/1302006799/177
178: 176 [sage] 2013/08/22(木) NY:AN:NY.AN >>177 丁寧にありがとうございます。 厳密にその手順で再現できたわけではないですが、5 まではあってます。 6. の ssh-add -l を実行するのは、フォワーディングしている putty + shell ではなく、 別途 GNU screen で開いておいたシェルからスクリプトを実行しています。 手順-1. 1-5 の手順で putty を利用し GNU screen でセッションを開いておく、 手順6. 過去のセッションにアタッチして、 スクリプトで /tmp/ssh-*/agent.PID にアクセスする ->putty.exe が 0xc0000005 や 0xc0000374 で異常終了します。 スクリプトの動作はおおよそ下記のようなものです。 http://pastebin.com/X9tDYvQa 現在、このスクリプトそのものを環境に仕込んで再現待ちの状態です。 実際に使っているスクリプトはもう少し複雑なのですが、 おそらく、ここの切り出した部分で問題が発生している風でした。 この、簡略化したもの自体で、問題が発生すれば少し絞り込めます。 スクリプトは /tmp を名前に基づいて漁って、sshd が agent 用に 利用している unix domain socket を見つけ出し、 ssh-add -l で試みに通信してみるものです。 http://mevius.5ch.net/test/read.cgi/unix/1302006799/178
179: 176 [sage] 2013/08/22(木) NY:AN:NY.AN 補足です。 スクリプト内では python の opoen を読み出しモードで開き、 子プロセスの標準入力を読み取っています。 ssh-add -l が実行される一般的な状況と比較すると、 標準入力にはアクセスできない、というのが特性としてあります。 書いていて思いましたが、< /dev/zero でもつけておいたら回避できたりして。 http://mevius.5ch.net/test/read.cgi/unix/1302006799/179
181: 176 [sage] 2013/08/23(金) NY:AN:NY.AN >>180 ありがとうございます。そのとおりです。 11 のスクリプトは、影響がありそうな箇所を抜粋したものなので その抜粋が見当違いなのかもしれません。もしそうであれば せっかく確認していただいて申し訳ないです。 手元で、もう少し条件を絞ってみます。 http://mevius.5ch.net/test/read.cgi/unix/1302006799/181
183: 176 [sage] 2013/08/26(月) NY:AN:NY.AN >>182 > 症状が発生しないのでしょうか? すみません。そのとおりです。いろいろごちゃごちゃ書いてあるスクリプトで、 そのままお出しできるか確認するのが面倒だったので、関係あると思われる部分のみ 抜粋したつもりだったのですが間違っておりました。まったく以って申し訳ないです。すみません。 その後、いろいろ調べましたので以下に置きました。 http://pastebin.com/hq2zjfyV 未初期化ポインタへの不正 free が問題のようです。 手抜き?対処ならば、c->u or c->u.a をちゃんと初期化すればよいのかな。 良く知らないコードを bisect するのは、アタリが付けられないので面倒ですね。 http://mevius.5ch.net/test/read.cgi/unix/1302006799/183
184: 176 [sage] 2013/08/26(月) NY:AN:NY.AN 画像にアクセスできないようなので。さいうp。 ttp://uploda.cc/img/img521a43d9dc019.png ttp://or2.mobi/index.php?mode=image&file=60360.png http://mevius.5ch.net/test/read.cgi/unix/1302006799/184
185: 176 [sage] 2013/08/26(月) NY:AN:NY.AN と、いうことで、ssh.c ssh2_channel_init() に c->u.a.message = NULL; を追加することで、とりあえず問題が発生しなくなりました。 putty-0.63 にパッチをあてた iceiv さん版で確認していますが、 落ちた状況をデバッガで確認した内容からすると他の環境でも同一だと思います。 http://mevius.5ch.net/test/read.cgi/unix/1302006799/185
187: 176 [sage] 2013/08/26(月) NY:AN:NY.AN >>186 お。そうですね。ということで確認しましたが trunk r10031 でも NG でした。 本家にレポートしておこうと思います。 http://mevius.5ch.net/test/read.cgi/unix/1302006799/187
188: 176 [sage] 2013/08/27(火) NY:AN:NY.AN trunk r10032 に取り込んでもらいました。 お付き合いいただいた皆さんありがとうございます。 とくに >>177 にはお手間を掛けさせてしまいました。ごめんなさい。 また、いろいろとアドバイスありがとうございました。 http://mevius.5ch.net/test/read.cgi/unix/1302006799/188
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.633s*