Putty その3 【パティ】
pageant使ってる俺はこの脆弱点は気にしない(キリッ >>92 そんな違いがあったのですね。 しばらく UTF-8(CJK) で使ってみます。 自分がどのputty使ってるかわからなくなった>< ごった煮pagaentのpassphraze保存って、やっぱ使うの危険なのかな? 危険か否か判断がつかないような人にとっては、とてつもなく危険です 中国圏で作られたPiettyも結構イケるよ http://w.csie.org/ ~piaip/pietty/ UTF-8, CP932, Big5, GB2312が使える とりあえずUTFとCP932が通ることは自分も確認してみた やるじゃんチャイナ >>103 ダウンロードできるバイナリはいきなりexe ソースやパッチがどこからダウンロードできるのかわからない downloadのリンクは切れてる でもdonateのリンクはしっかり元気 そんな怖くて不快な代物は使えま1000 >>104 何故かgTLDだけど、一応台湾大情報工学部 http://www.csie.ntu.edu.tw/ ~piaip/pietty/ psftpとかplinkの話題もここでいいんだよね? サーバー側にunicodeの日本語ファイル名のファイルをpsftpでダウンロードしてから、 plinkで削除ってやりたいんだけど、文字化けが解消できずにうまくできない。 putty本体は文字コードをunicodeにすればちゃんと見れる。 puttyでセッションを保存しておいて、それをpsftpで-loadオプションで呼んでみても、 やっぱり動かない。 これをどうにかできる方法あります? plink使ったこと無いから適当いってみるけど、 plink自体にSJISでコマンドラインオプションが渡ってるっぽい? ので、変換するようplinkを改造するか、 いっぺん実行したいコマンドをファイルに(unicode?)で書いて、 plink -m で実行するかかな? なるほど、ファイルに書いてみるって手がありましたね。 やってみます。 サロゲートペアに対応してみた。 http://www.yoshidam.net/PuTTY/ 需要があるかどうか分からないけど、異体字の表示にも対応。 >>111 これは本家に是非とも採用してもらうべき。 >>113 申し訳ない。回線がISDN 64Kbpsなので。 ちょ、中文版Puttyにバックドア見つかったとかなんとか >>109 やっぱり正常にダウンロードできない。 get /var/tmp/あいうえお.txt c:\あいうえお.txt をutf-8で書いて読ませたら、文字化けしたファイルでダウンロードされた。 コマンド手動で打ち込むとno file openとかでダウンロードすら出来なかったので、 そこからすれば進歩はしたが、ダメなものはだめだな。 getの後ろに/var/tmp/あいうえお.txtを無理やりshift-jisに変換した文字を入力してみたり いろいろと試したがどうにもならんで諦めてjavaでアプリ組んだよ。 iceiv putty putty-gdi-20120211 を使い始めた。 Windows 7 64bit で、64bit に putty.ini + 日本語化 で起動。 ウィンドウ - 変換 - Remote character set が文字化けしているんだが、、、 なんてのは、どうやったら、iceiv putty の作者に知らせることが出来るんだろう。。。 iniファイルでLineCodePage=""になっているとプルダウンリストの初期値にゴミが入るみたいだね >>123 120 です。Thxs 多分、それです。 >>121 わからん :-) 配布ページのソース開くとmeta定義にメールアドレスぽいのがあるね >>121 , 125 分かったけど、、、、、いきなりメール出すのもなんかなぁ。。。。。。。 ここを読んでくれていることを祈ろう :-) いや、そんなに気にしなくてもいいと思うよ。 いきなりメール出していいよ。 >>127 あの、あなたはもしや、、、、もしかして、、、、:-) >>112 サロゲートペア・異体字パッチを本家に送りつけてみた。 何度かSimonとやりとりしたけど、ようやくsvnにマージされたらしい。 お疲れ様。UNIXやMac版でもサロゲートいけるようになったのかな? お疲れ様です puttyってsvn公開されてたんですか >>131 UNIXはPangoを使ってフォント描画しているから表示は大丈夫だと思う。入力は出来ない? Macはソースの至る所にFIXMEとか入っているし、まだ使える状態じゃないような。 >>120 この項目、大元のPuttyJPでは未訳文字列のようなので、 それに倣って訳文を削除する方向で。 ICE IV使ってるのですが GDI版はまったく問題ないのに D2DDW版は、まったくもってうんともすんともいわない (コンソールウィンドウ自体開かず、プロセスから消える) のですが、 原因として考えられることってなんですかね? 環境: OS: Win7 32bit SP1 CPU: i7 GPU: NVIDIA GeForce 9800 GT あなたはなんだと思ったのです? それを確認するために何を試して、どのような結果を得たのです? なんだと思ったか(1) 設定のどこかがおかしいと思った 試したこと iniファイルのdiffとった 結果 とくに異常なし なんだと思ったか(2) putty.exe(の設定画面GUI)がコンソールウィンドウを開くプロセスがうまくいっていない 試したこと D2DDWのdiffファイルを開いて読んだ 結果 自分には何がどうなっているのかわからないということがわかった 他に試したこと グラフィックボードのドライバの更新→とくに意味はなかった FFとIEの2DレンダリングがONになっていることを確認した→ONだった >>137 俺もだめ。接続しようとすると 例外コード: c0000005 を出して死ぬ。 Win7SP1 64bit D2D/DW版は使ってないから解決するかはわからないけど DirectX End-User Runtimeの最新版入れてみるとか? ttp://www.4gamer.net/games/017/G001762/FC20110422001/#directx 最新版はこの辺から辿ってどうぞ >>141 情報ありがとう。 でもこれは3D系のドライバをインストールするだけみたいね。 2D系はWin7にはすでに入っているはずだから… D2D/DWに入っているdiffファイルに書いてある、 使用されるライブラリは、検索したらいちおうすでにあるみたい。 Font のとこの Use fallback font のチェックを外すか、 Arial Unicode MS 以外のフォントを指定するかしたら動かないかな? 作者勘違いしてると思うのだが、Arial Unicode MS は Windows 7 でも 8 でも、 標準ではインストールされないんじゃ? >>143 あっふぉんとだ。いけた。 ありがとう! まだ皆見てるかな? 最近iceiv使い始めましたが、高DPI環境(IBM T221使用で200%DPI)だと 「設定」画面の文字がスケールしてくれないみたい。 CTRL+右クリックで出てくるメニューでは追随してるみたいだから、 何か設定が足りない気がしないでもないけど。 SGR形式のマウストラッキング対応とか面白そうですなぁ screenが公式に対応してるのかしてないのか今ひとつわかんないけど こりゃtmuxに移行しろって事だろうか iceiv最新版 「ウィンドウ→変換→Remote character set」で他のcharset選択できない… 修正版でた >>146 putty.lngの_FONTSIZE_を大きくしたら文字はでかくなる が、ウィンドウはそのままだからハミデルしなあ iceivのputty-d2ddw-20130306でwindowsの画面ロックからの 復帰時に画面が更新されない症状出ている人いる? windowリサイズしても描画更新されず。 Enter連打するとスクロールバーが伸びる。 Ctrl+DやexitでSSHセッションが正常に終了するので描画だけの問題のようだ。 環境はintel graphicsなwin7 64bit。つい最近まで問題なく使えていたので、最近のwindows update絡みかも? OS再インストールしてみたが直らなかったわ。。 radeonなwin7 64bit環境では問題発生せず。 個人的に画面ロックは使用やめられんので、どうしたもんか。 もしかしてIE10がらみ? FirefoxもRadeon環境で文字描画にbug出てるらしいし >iceivの作者様 俺のような下民の糞レポに即日対応してくれるなんて・・ 新しいバージョンで動作確認しました。問題が解消されていました。 なにかお礼をすべきところですが、、 少しでも世の中が良くなるように明日から仕事をがんばります。 ありがとうございました。 似たような配色にしたらWindow版EmacsとEmacs/PuTTYのウインドウの 区別がつきにくくなった。 タイトル行(アイコン)で見ればわかるけど、他の方法無い? FireFoxとかIEなどブラウザはボタンが特徴的で一目でわかる。 OSはWindows7 >>150 更新されてることに気がつきませんで、ご返事遅くなりました。 putty.lngを下記のように変更したところ、視認性が格段に向上しました。 _FONTNAME_=HGゴシックE _FONTSIZE_=20 仰るとおり、ウィンドウサイズは変わらないので、太字フォントを駆使して難を逃れています。 ヒント頂きありがとうございました。m(_ _)m heap overflow脆弱性が公開されたせいだな。 http://www.chiark.greenend.org.uk/ ~sgtatham/putty/ 2013-08-06 PuTTY 0.63 released, fixing SECURITY HOLES PuTTY 0.63, released today, fixes four security holes in 0.62 and before: vuln-modmul, vuln-signature-stringlen, vuln-bignum-division-by-zero, private-key-not-wiped. Other than that, there are mostly bug fixes from 0.62 and a few small features. security fix releaseだからPuttyjpやICE IV+puttyも早いとこ更新してほしいなぁ ごった煮版は更新止まっちゃったっぽいから無理かなぁ ICE IV+puttyは0.63対応版が出た模様 ttp://ice.hotmint.com/putty/putty-gdi-20130807.zip Nagさん素早い対応乙です ごった煮由来のpagentはパスフレーズ保存する機能まで付いてるから、not-wipedどころじゃないな もうiceivは、そのへん捨ててもいいんじゃね? pfwdとplinkは必要な人がメンテすりゃいいじゃないの 不要な機能ばっかついてる上、環境を選んだりすることがあるという理由でiceivは使わず ごった煮系を自分でビルドして使ってる俺みたいなのも多いだろうしね かっちりブランチしちゃっても誰も困らないんじゃないかな どうせ本家に取り込んでもらうつもりもないんだろうし 微妙な改造版が乱立してる現状はなんとかならんかなあとは思うね。 Linux ZaurusのEmbedded Konsoleを思い出す… 一度どれだけ派生があって、どんな機能があるのか整理してみるかな。 iceivから本家に取り込まれたものはあるから、投げてるけど採用されてない系。 本家は滅多に派生を採用しない、puttyjpですら駄目だったらしいし。UI系は絶望的。 まあそのうち誰かがKittyとかも集約した究極派生つくるでしょきっと 個人的にはPuTTYjp+ごった煮版の機能のうち3つぐらいで足りているので 機能をそれだけに絞った自前ビルドとかやりたいんだけど ごった煮版のパッチから必要な機能だけ抜き出すのが出来なくて挫折中orz PuTTYjpも0.63ベースのが出た模様 ttp://hp.vector.co.jp/authors/VA024651/download/file/putty-0.63-jp20130808.zip hdkさん乙です 自前ビルドも結構面倒なんだよね。やり方も複数ある(cygwin, msvc等) あるし。 自分は64bit版作りたいんだけど未だにうまくいってない。 >>167 x64版は*.mftファイルのprocessorArchitectureの罠にはまらなければ 難しくないはず 確かPuTTYjpはSetWindowLongを使っているところがあるから そのあたりも変更が必要だね 本家から0.63のウインドウズ版ソースを取ってきてCygwinでbuildしてみたところ コンパイラが-mno-cygwinなんてオプション知らないって言ったりtchar.hが無いって言われたり エラー続出なんだけど、これってCygwinの構成の問題? 最近のCygwinのgccはMinGWバイナリを作れなくなっている MSYSでビルドできるはず(-mno-cygwinは削除) putty.hの#ifndef IS_HIGH_SURROGATEの位置がおかしいので 修正する必要があるかも iceiv+putty の putty-gdi-20130807.zip 版にしたんだけど、 putty.exe が結構な頻度で落ちちゃうなぁ。これまでは落ちることなんてほぼ無かったんだけど。 皆さんはどうですかね。 agent forwarding した上で pagent 関連の操作をしていると落ちるような気がする。 うちの珍しい条件としては /etc/ssh-*/agent.pid を漁って、複数プロセスから利用している。 たとえば、agent forwading で複数のソースからのリクエストを想定していない等だと問題になるのかね。 だた、落ちるのは putty.exe なんだよね。 client : Win7Pro 64bit jp server : ScientificLinux 5/6, debian 6/7 など 状況わかってないから要らん口出しかもだが、本家のpageant使ってみたら? >>171 64bit版Windows SP1でputty-gdi-20130807.zipを使っているけど特に問題なく使えているよ pageantも使っているけど、171がやっているような複雑なことはやってないからその辺りは判らんです >>172 ありがとう。残念ながら、pagent を本家版にしても状況は変わらなかった。 落ちているのは putty.exe だしね。 >>173 情報サンクス。 たぶん、/etc/ssh-*/ に、複数プロセスから ssh-add -l でアクセスするとダメなのかな。 >>174 切り分けとしては本家のputtyやjpを使ってみる、ってことになるだろうけど、 ごめん浅学で理解できてないのだけど、その/etcというところをみると、 puttyでsshした先の話のように見えて、puttyに影響がでるメカニズムが分からない。 >>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 することで落ちてしまいます。 >>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 >>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 で試みに通信してみるものです。 補足です。 スクリプト内では python の opoen を読み出しモードで開き、 子プロセスの標準入力を読み取っています。 ssh-add -l が実行される一般的な状況と比較すると、 標準入力にはアクセスできない、というのが特性としてあります。 書いていて思いましたが、< /dev/zero でもつけておいたら回避できたりして。 >>178 ええと、そうなると↓のような感じでしょうか? [前提] * putty.exeはputty-gdi-20130807.zipのものを利用 * pageant.exeはputty-gdi-20130807.zipのものでも本家公式のものでもどちらでもよい [再現手順] 01. pageant.exeを起動する 02. 適切な鍵を手順1で起動されたプロセスに読み込む 03. putty.exeを起動する 04. 「putty設定」のダイアログの「接続」→「SSH」→「認証」の「Pageantを使って認証する」「エージェントフォワーディングを認める」にチェックを入れる 05. 「putty設定」のダイアログの「セッション」の「ホスト名(またはIPアドレス)に接続先のホスト名を入力し、「開く」をクリックしてサーバにログインする 06. ログインした先でscreenを起動する 07. 手順6で起動したscreenをdetachする 08. ログアウトしputtyのプロセスを終了する 09. 手順4と5を繰り返し再度サーバにログインする 10. ログインした先でscreen -rを実行して手順7でdetachしたプロセスにretachする 11. retachした状態で http://pastebin.com/X9tDYvQa のPythonスクリプトを実行する [発生する症状] 手順11を実行した瞬間にputty.exeのプロセスが落ちる 前回と同じ環境で何回か試してみましたが、手順11で普通にソケットのパスとssh-add -lの出力が表示されてputtyのプロセスが落ちることはありませんでした。 >>180 ありがとうございます。そのとおりです。 11 のスクリプトは、影響がありそうな箇所を抜粋したものなので その抜粋が見当違いなのかもしれません。もしそうであれば せっかく確認していただいて申し訳ないです。 手元で、もう少し条件を絞ってみます。 >>181 ええと、ひょっとして176さんの環境で http://pastebin.com/X9tDYvQa のスクリプトを実行しても症状が発生しないのでしょうか? それだと意味がないので、多少複雑でも確実に症状が発生するものを晒していただきたいのですが…。 あとちょっと気になったことがあるのですが、この症状を再現するのにscreenを使うのは必須なのでしょうか。 このスクリプトがやっていることからすると、>>180 の再現手順05までを行った後に 06'. 環境変数SSH_AUTH_SOCKをクリアするorそれらしい別の値に変更する 07'. 件のPythonスクリプトを実行する でも症状が再現しそうに思うのですが…。 >>182 > 症状が発生しないのでしょうか? すみません。そのとおりです。いろいろごちゃごちゃ書いてあるスクリプトで、 そのままお出しできるか確認するのが面倒だったので、関係あると思われる部分のみ 抜粋したつもりだったのですが間違っておりました。まったく以って申し訳ないです。すみません。 その後、いろいろ調べましたので以下に置きました。 http://pastebin.com/hq2zjfyV 未初期化ポインタへの不正 free が問題のようです。 手抜き?対処ならば、c->u or c->u.a をちゃんと初期化すればよいのかな。 良く知らないコードを bisect するのは、アタリが付けられないので面倒ですね。 画像にアクセスできないようなので。さいうp。 ttp://uploda.cc/img/img521a43d9dc019.png ttp://or2.mobi/index.php?mode=image&file=60360.png と、いうことで、ssh.c ssh2_channel_init() に c->u.a.message = NULL; を追加することで、とりあえず問題が発生しなくなりました。 putty-0.63 にパッチをあてた iceiv さん版で確認していますが、 落ちた状況をデバッガで確認した内容からすると他の環境でも同一だと思います。 >>185 >>185 解析お疲れ様でした 本家のsvnリポジトリのtrunkをビルドして試されたようですが、現在trunkのHEADは10031まで進んでおり ssh.cも試されたリビジョンより後でかなり更新されているようなので、一度trunkのHEADで問題が発生するか 試してみるのが良いのではないかと >>186 お。そうですね。ということで確認しましたが trunk r10031 でも NG でした。 本家にレポートしておこうと思います。 trunk r10032 に取り込んでもらいました。 お付き合いいただいた皆さんありがとうございます。 とくに >>177 にはお手間を掛けさせてしまいました。ごめんなさい。 また、いろいろとアドバイスありがとうございました。 Puttyの0.63にしてから、ポートフォワードが異常に遅くなる現象が 出てるような気がするのですが、hdkさんとこの過去バージョンって どこかでダウンロードできるところあります? バージョン0.58だと、遅くならないようですが、さすがに古すぎるので、 どのバージョンまで大丈夫なのか試してみたいのですが。 >>189 です。 他のPCに過去バージョンのアーカイブが入ってましたので、 試してみましたが、やっぱりポートフォワードが遅くなるのは 改善しないです。0.58も、実はダメでした。 再現性がないですし、いつもなるわけではなくて時々なので 分かりにくいですが、今のところ英語バージョンの0.63の場合 遅くなる現象は一度も発生してません。 日本語パッチがポートフォワードに影響するとは考えにくい ですし、私の環境だけでの現象かもしれません。 >>191 plinkだと遅くならないみたいです。一度だけ遅くなったような 気がしましたが、すぐに復旧したので、putty日本語版本体とは 挙動が違うようです。 でも、plinkは日本語を扱いにくいし、putty英語版本体の方が 相手がUTF-8ならずっとましかな? とりあえず、putty英語版本体を使ってみますが、回線の問題のような 気もします。日本語版の作者のみなさま気分を害したらすいません。 どういうときに再現できるのか、分かりましたらまた報告します。 iceivを使ってるんだけど高dpi設定にしたら24行の標準設定でも カーソルのある最下行がウィンドウからはみ出しちゃうんだがputtyの設定で何とかなる? どうにもならなかったので、Puttyをdpi仮想化対象外にして回避したような 記憶があるな、それ。 埋め込まれてるmanifestが間違ってるんじゃないか dpiAwareがtrueになってるみたいだが read.cgi ver 07.5.5 2024/06/08 Walang Kapalit ★ | Donguri System Team 5ちゃんねる