09/03/15 18:19:02
OpenSSH for Windows v3.8.1でインストールしたサービスに接続すると入力履歴も補完も
使えないんですが、仕様でしょうか?cygwinで入れたopenssh 5.1p1-10は問題ないです@WindowsXP Pro SP3
113:名無しさん@お腹いっぱい。
09/03/15 19:50:54
>>112
それは SSH クライアントであるところの Tera Term と
なにか関係があるんですか?
114:名無しさん@お腹いっぱい。
09/03/15 20:33:35
つかTera Termスレがなんでこんなところにあるんですか?ずいぶん探しちゃいましたよ。
115:名無しさん@お腹いっぱい。
09/03/15 20:38:08
>>112
OpenSSH for Windowsって使ったことないんだけど、Login Shellは何になるの?(何にしてるの?)
Shellのせいじゃないのなら、Teratermのキー送信周りが関係するのかもしれんけど…。
116:名無しさん@お腹いっぱい。
09/03/15 21:21:56
>>115
レスありがとうございます、Login Shellとは接続先のPCで動くプロセスのことを
おっしゃっているのでしょうか?タスクマネージャーでみたところ、接続すると
プロセス数が複数増加するのではっきりとはわかりませんが、for Windowsを
インストールしたPCに接続後当PCでcmd.exeが増加したのが確認できました。
ちなみにクライアントがTeraTermでもcygwinのssh.exeでも同じで
for Windowsに接続するとカーソルが矢印キーに伴って上下左右に移動するだけで
履歴や補完が機能しません。
117:名無しさん@お腹いっぱい。
09/03/15 21:53:37
>>116
> 上下左右に移動するだけで
普通のcmd.exeなら上下へは移動しないと思うんだが、それは確かかい?
そもそもさ、履歴や補完 って言うけど、それはShellが行っているもので、
直接はSSHクライアントには関係ない事なんだけど、
「OpenSSH for Windowsにログインした時、そのShellは履歴や補完機能を提供する」
のは間違いないのかい?その場合のキーバインドや仕様は知っているのかい?
118:名無しさん@お腹いっぱい。
09/03/16 22:39:12
>>117
返事遅くてスイマセン。普通に使ってるぶんにはcmd.exeのカーソルが上下に
動いたりしないのは確かです。クライアントでbash使う場合でもcmd使う場合でも
ssh.exeを叩くまではカーソルは普通の動作なんですが、forWinのPCにログインすると
途端にカーソルが自由移動始めてしまいます。
確かにOpenSSH for Windowsがそもそも履歴や補完機能を提供しない可能性は
考えていませんでした。標準的な履歴の↑↓キーと補完のTabは試したのですが
テキストエディタ上のように矢印キーでカーソルの自由移動、Tabで空白挿入といった具合です。
119:名無しさん@お腹いっぱい。
09/03/16 23:24:35
>>118
なうほど。確認した。
といってもOpenSSH for Winを入れるのは面倒なので、XP上のtelnet serviceを動かしてみた。
cmd.exeからtelnet localhostすると正常。履歴が使えた。
teratermから繋ぐと書いてあるように上下キーで泳ぐ。
それどころか上キーを押してしまうと動作がおなしくなるみたい。
上キーで補完はしているようだが表示がおかしい。
これがteratermの設定でどうにかなるのかどうかはまだわかんない。
悪いけどもう寝るので、もっと詳しい人よろしく。
120:名無しさん@お腹いっぱい。
09/03/16 23:35:59
> それどころか上キーを押してしまうと動作がおなしくなるみたい。
ごめん。これは面倒がって普段のUTF8/CRのままでやってみたからだった。
SJIS/CRLFでやったら変な動作はもちろんなくなった。
カーソルキーで泳ぐのは変わらず。tabキーもtab挿入動作。
おやすみ。
121:名無しさん@お腹いっぱい。
09/03/17 00:43:30
>>120 SJISの受信改行CR/送信改行CR+LFがよさそうだな。
それはさておき、バックスペースでプロンプトを逆送したりもするな。
上キーは Windows の telnet も Tera Term も \033[A が飛んでる。
試しに FreeBSD の telnet から繋いだら、Tera Term と同じ動きだった。
122:名無しさん@お腹いっぱい。
09/03/17 02:42:51
目が覚めたのでも少し試してみた。
>>121
> SJISの受信改行CR/送信改行CR+LFがよさそうだな。
おお、そうだね。
補足ありがとう。
逆送もするねえ。
Puttyでも同じく。
全体的に動きとしてはtlntadmでstream modeにしてcmd.exeからtelnet.exeしたときみたいだ。
123:名無しさん@お腹いっぱい。
09/03/18 22:15:06
わかった。Term type を vt100 か ANSI にすればいい。
124:名無しさん@お腹いっぱい。
09/03/18 22:47:14
>>123
あ、ほんどだ。
盲点だったわ。
これってヘルプ見ると
Telnet プロトコルで接続したときホストに報告する terminal type
ってあるけど、質問主のssh接続だとどうなんだろう?
125:名無しさん@お腹いっぱい。
09/03/18 23:12:03
TTSSH は Tera Term の Term type を拾ってるから同じだと思う。
126:名無しさん@お腹いっぱい。
09/03/18 23:17:21
>>125
> TTSSH
TerminalIDだけじゃなくてTerm typeも使ってる?
じゃあ大丈夫だね。
127:名無しさん@お腹いっぱい。
09/03/19 12:27:45
元の質問者は検証してここへsummaryしておくように。
128:元の質問者
09/03/19 22:00:04
あーども、毎度毎度スイマセン。Term typeってTeraTermでいうところのTERATERM.INI内に
記述されているTermType=のことですよね?vt100とANSIとどちらの記述も試したのですが
OpenSSH for Windowsのマシンに接続しても症状変わらずのようです。
未熟者ゆえ皆さんのアドバイスにも的確に受け答えできなくて申し訳ないです、とりあえず
自分の環境だけの問題ではなさそうな雰囲気なのでもう少し勉強してみます。ありがとうございます。
129:名無しさん@お腹いっぱい。
09/03/19 23:02:55
>>128
数人にここまで骨を折らせたんだ。
そう言わずにもう少し付き合いなよ。
念のため確認したい。
TERATERM.INI に書いた TermType=vt100 は、実行中のteratermに反映されているか。
OpenSSH for Winにログインして問題が再現するのを確認してから、
設定 > TCP/IP の画面で「端末タイプ」の欄で確認できる。
同じ設定で、Winのtelnet serviceを起動して接続し、同様の現象が起きるか、
また TermType=vt100 の設定で現象が変わるか。
注意点:
teratermのメニューからTermTypeを弄る場合、ログインした後だと当然反映されないので気をつけて。
Login: プロンプトが出ている状態でならOK。
130:名無しさん@お腹いっぱい。
09/03/19 23:45:20
>>129
確認しました。先ずTermType=がTeraTermに反映されているか否かという件ですが
設定 > TCP/IPにちゃんと反映されていました。念のためこの場所を(ログイン前に)
直接編集してみたのですが、forWinにログインした際の挙動については変わらず。
次に自PCのtelnet serviceにlocalhostで接続したところXP標準のtelnetコマンドでも
TermType=vt100に設定したTeraTermでも正常(ちゃんとカーソルは上下に移動せず
また履歴、入力補完もちゃんと機能する状態)になりました。
しかしTeraTermをTermType=xtermに変更して再度telnet serviceに接続したところ
件のカーソル自由移動な状態が再発してしまいました。
ということはTermType=に起因するtelnet serviceの症状と、OpenSSH for Windowsの
症状はそもそも関係性が無い・・・?
131:名無しさん@お腹いっぱい。
09/03/19 23:57:35
>>130
いや、検証としては材料が揃って(増えて)良かったと思うよ。
例えトンピシャじゃなくても、可能性として。
全くピント外れなのかもしれないけれど。
つーことで、気長に中の人とかソース読んでる人とか詳しい人の登場を待ちましょう。
132:名無しさん@お腹いっぱい。
09/03/20 00:32:08
>>130
ついでにOpenSSH for Windowsに接続して、
> set TERM
の結果もよろ。
TermTypeがデフォのxtermの時とvt100の時とANSIのと全部。
133:名無しさん@お腹いっぱい。
09/03/20 01:01:57
>>132
順に
TERM=xterm
TERM=vt100
TERM=ANSI
という何の変哲も無いものになりました。ついでだからちょっと纏めておきます。
要旨:
OpneSSH for Windows単体インストールパッケージを使用したとき、そのサーバーにログオンすると
クライアント上のカーソルが自由に移動してしまい履歴や入力補完が使用できない問題
・OpenSSH for Windows v3.8.1で発生
・cygwin のopenssh 5.1p1-10では同症状は発生せず
・クライアント、サーバーのいずれもOSはWindowsXP Pro SP3
・使用したクライアントはcygwinのssh.exe 5.1p1及びTeraTerm v4.61
・telnet serviceにログオンする際、TeraTermのTermType=の設定をvt100もしくはANSI以外にすると
同じような症状がみられるがOpneSSH for Windowsの場合この設定と無関係に症状が発生、関係性については不明
・なおOpenSSH for Windows自体の検証を行ったのは(恐らく)>>112本人のみなので、統計的信憑性は薄
134:名無しさん@お腹いっぱい。
09/03/20 01:21:24
>>133
何度も悪いけど、putty使って端末タイプをvt100にしてやってみるとどうなるんだろ。
同じだろうか。
週末にでも時間がとれればOpenSSH for Win入れてこっちでも確認してみるけど。
135:名無しさん@お腹いっぱい。
09/03/20 01:35:52
>>134
ダウンロードして試してみました、TeraTermの時と同じですね。( っд・`)オヤスミナサイ
136:名無しさん@お腹いっぱい。
09/03/20 01:58:29
>>135
乙。
つか、それって結構古いままだけど、セキュリティ的にどうなんだろ。
実際cygwinのでいい気がする。
137:名無しさん@お腹いっぱい。
09/03/20 09:47:56
これでいいんだよね?URLリンク(sshwindows.sourceforge.net)
cmd からこいつに入ってる ssh.exe で接続してみたけど、
上キーで履歴補完されないし、Tabキーで入力補完もされない。
というわけで >117 が正解っぽい。
138:名無しさん@お腹いっぱい。
09/03/21 00:15:34
vbox環境のXPにOpenSSH for Windows入れて試してみた。
付属のssh.exeとteratermで試したが同じく駄目だった。
色々見てると、Shellが機能提供していないんじゃなく、まんまOpenSSH for Win 3.8.1の不具合か仕様な感じ。
つか、Shellはcmd.exeそのものだから。
(標準ではLoginShell指定してあるswitch.exeつーのが$COMSPEC見てちょいと細工してcmd.exeを叩くだけみたい)
やっぱり使うならcygwinのにしときなさいってことかな。
139:名無しさん@お腹いっぱい。
09/03/21 17:57:23
OpenSSHのssh の -Nオプション、PuTTYの「シェルやコマンドを実行しない」、に相当することはできますか?
140:元の質問者
09/03/22 23:32:56
>>138
どうもありがとうございます、これでスッキリしました。今後はおとなしくcygwin使うことにします。
今回ググって出てきた情報を頼りにSSH導入を試みたけど、ハウツーページは数あれど
この問題に触れてるものが見当たらなかったのはちょっと不思議。