ttt

getttyent

(QEMU)PuTTYの代わりにTTSSH(teraterm ssh)を使う

2005-06-30 22:31:14 | デジタル・インターネット

以前、
(QEMU)ゲストOSのFreeBSDから、外の世界(インターネット)にアクセスする
で紹介した、PuTTYのポートフォワーディング機能を使って、QEMUの中の人のFreeBSDから、QEMUの外のProxyサーバに接続する方法は、どういうわけか、通信が途中できれてしまうらしく、まったく信頼性がありません。

なんとなく、PuTTYの代わりにTTSSHを使ったら、とっても調子よく、通信できるようになりました。

■SSH1プロトコルを有効にする

今のFreeBSDは、デフォルトでは、SSH1(SSHのversion1で使っていたプロトコル)では、ログインできなくなっています。これは、SSH1はセキュリティ的に問題があるとされているからです(telnetにくらべたらましなきもしますが)。そのため、SSH2に対応したPuTTYを使用していました。

さて、TTSSHは、SSH1にしか対応していません。TTSSHでログインするには、FreeBSDのsshdの設定を変更する必要があります。
その方法ですが、まず、/etc/ssh/sshd_configを以下の太字部分のように書き換えます。

Port 22
#Protocol 2
Protocol 2,1
#ListenAddress 0.0.0.0
#ListenAddress ::

これで、SSH1にも対応するようになります。

# Change to yes to enable built-in password authentication.
#PasswordAuthentication no
PasswordAuthentication yes
#PermitEmptyPasswords no

(こんなの昔設定したかな?という気がするのですが)こっちは、なぜか、ログインパスワード認証が使えず、公開鍵(RSA)での認証しか許してもらえなかったので、追加しました。まだ、SSHの公開鍵の設定とかをやってないので、仕方ないので、とりあえずこうしておきます。

設定を反映させるために、sshdを再起動します。

# /etc/rc.d/sshd restart

これで、SSH1でログインできます。

■TTSSHのポートフォワーディング機能の設定

PuTTYで使った3128番のポートはそのままにしておき、別の8080番を使うことにします。TTSSHの[Setup]-[SSH Forwarding]で、こんなかんじで登録することになります。

ttssh

ログインしなおさないと、この設定は有効にならないそうです。おっと、ログアウトするまえに、ちゃんと[Setup]-[Save setup]でINIファイルに設定を保存しておいてください。

■環境変数でProxyサーバーの指定

8080番にしたので、こうなります。

setenv http_proxy http://localhost:8080/
setenv ftp_proxy  http://localhost:8080/
setenv no_proxy   localhost

■試してみる

ためしに、パッケージのxorg-clients(X Window Systemのさまざまなクライアントプログラム)をインストールしてみました。

freebsd# pkg_add ftp://ftp2.jp.freebsd.org/pub/
FreeBSD/ports/i386/packages-5-stable/x11/
xorg-clients-6.8.2.tbz

PuTTYだと、なんどやり直しても正常にダウンロードできず、パッケージファイルの末尾がかけているらしく、しかも、いやなことに、不完全な状態でパッケージがインストールされたことにされてしまいます。

ところが、TTSSHのポートフォワーディングを使うと、1発でインストールできてしまいました。気のせいだとしても、気分がいいので、とりあえず、これからはこっちを使ってみることにします。


2 コメント

コメント日が  古い順  |   新しい順
はじめまして、初心者なのですけれど教えていただ... (hikyuu)
2007-01-31 10:50:07
はじめまして、初心者なのですけれど教えていただけたら助かります。ターミナルエミュレーターでサーバーにつながるのですが黒い四角の画面だけで文字がまったく入力できません。まったく知識がないのですがどうしたらいいのか困っています。SSHサーバーの設定を変更しなければならないところあるんじゃないかなと思うのですけれど・・osはsentosです。sshd_configを書き換える部分があると思いますが・・すみません、まったくの初心者で・・
返信する
「黒い四角の画面」というのは、どういう状況のこ... (本人)
2007-01-31 23:26:00
「黒い四角の画面」というのは、どういう状況のことを言ってるのでしょうか?puttyの話をしているのでしょうか?

「サーバーにつながる」と言ってるのは、ユーザー名とパスワードなどを入力してログインできた、という意味ですか?それとも、サーバーからは何のメッセージも表示されないということでしょうか。

sentosって、CentOSのことですか?(どちらにしても、私は使ったことがないです・・・)

ターミナルエミュレーターっていうのは具体的にどのソフトウェアのことですか?ここで書いているTTSSHはとても古いです。TeraTermを使いたいのでしたら、UTF-8 TeraTerm Pro with TTSSH2というのがあります。


もうちょっと情報があれば、何かアドバイスできるかもしれません・・・


想像で話をすすめますが、Puttyで黒い画面のまま先に進まないって場合だとしますと、その時点ではまだサーバーに接続さえもしていないか、もしくは即座に接続が切られたか、だと思われます(Puttyのタイトルバーにはinactiveとか表示されたりします)。

サーバーに接続できていない場合の原因としては、サーバー側でそもそもsshデーモンが動いていないとか、サーバー側のファイアウォールで接続が拒否されているとか、そういったことがまず思い浮かびます。

SSHのプロトコルバージョンとか、認証方式の種類などが原因で接続拒否されているのだったら、サーバー側のログを見れば即わかると思いますが・・・初心者だということなので、なかなかすぐにはわからないかもしれません・・・CentOSはまったくわからないのですが、一般的には、/var/log/あたりのディレクトリにログファイルがあります。

私の実体験では、sshd_configは書き換えることはあんまりないです。
返信する

コメントを投稿

ブログ作成者から承認されるまでコメントは反映されません。