[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[debian-users:21285] ssh and devpts
猪谷%potato に移行中 です。
最近の potato バージョンは、devpts なるものを導入したようですが、これ
と openssh の組合せで ssh/scp がうまく働かなくなりました。
具体的には、どこぞのホストを指定して ssh/scp しようとした時、パスワー
ドなりパスフレーズの入力をしなければならない段になると、
You have no controlling tty. Cannot read passphrase.
と出てしまい、接続を切られてしまいます。
いろいろ調べた結果、openssh-1.2.2 (pl1 でも同様)の readpass.c 中で
"/dev/tty" を決めうちで open しようとするのだけれど、新しめの potato
環境では/dev/tty のパーミッションが
ls -l /dev/tty
crw-r--r-- 1 root sys 5, 0 Mar 11 02:42 /dev/tty
となっているため、open できず、ssh はその場で終了してしまいます。
とりあえず readpass.c で、/dev/tty、ttyname(1)、/dev/getenv("TTY") の
open を試みるように書き換えたら、どうにかこうにか ssh と scp が動くよ
うになりました。
が、これのもっと普通かつ根本的な解決策ってないのでしょうか?
なにか既知の対策を見落としてますか?
/dev/tty を有効にするような設定があるんでしょうか。
# devpts の資料って探したつもりなんですが見つからない…
ひょっとしてうちが upgrade に失敗して変なことになってるだけですか?
ii libc6 2.1.2-11 GNU C Library: Shared libraries and Timezone
なシステムでは問題ないのですが(こいつでは /dev/pts は使われていないら
しい)、今週に入って入れ換えた
ii libc6 2.1.3-6 GNU C Library: Shared libraries and Timezone
なシステムだと上のような状況に陥ります。
--
O
o ●-● 猪谷 英一郎 == Eiichiro Itani
-ゝ emu@xxxxxxxxxxxxxxx