[Mew-dist 15868] POP/SSHでネットワークが切れているとき
KOIE Hidetaka ( 鯉江英隆 )
hide at example.com
2001年 1月 12日 (金) 14:38:57 JST
ネットワークカード(pccard)が抜けているときにSSHを実行するとこうなります。
#OpenSSHのバージョンは古いです。
━━━━━━━━━━━━━━ここから━━━━━━━━━━━━━━
% ssh -x -v -o "ConnectionAttempts=1" neos
SSH Version OpenSSH_2.2.0p1, protocol versions 1.5/2.0.
Compiled with SSL (0x0090581f).
debug: Reading configuration data /usr/home/koie/.ssh/config
debug: Reading configuration data /etc/ssh/ssh_config
debug: Applying options for *
debug: Seeding random number generator
debug: ssh_connect: getuid 1102 geteuid 1102 anon 1
debug: Connecting to XXX [1.1.1.1] port 22.
debug: connect: No route to host
Secure connection to XXX on port 22 refused. <=注目
%
━━━━━━━━━━━━━━ここまで━━━━━━━━━━━━━━
Etherケーブルを抜いた場合はこのようになります。
━━━━━━━━━━━━━━ここから━━━━━━━━━━━━━━
% ssh -x -v -o "ConnectionAttempts=1" neos
SSH Version OpenSSH_2.2.0p1, protocol versions 1.5/2.0.
Compiled with SSL (0x0090581f).
debug: Reading configuration data /usr/home/koie/.ssh/config
debug: Reading configuration data /etc/ssh/ssh_config
debug: Applying options for *
debug: Seeding random number generator
debug: ssh_connect: getuid 1102 geteuid 1102 anon 1
debug: Connecting to XXX [1.1.1.1] port 22.
debug: connect: Operation timed out
Secure connection to XXX on port 22 refused. <=注目
%
━━━━━━━━━━━━━━ここまで━━━━━━━━━━━━━━
この最後の行のメッセージを mew-ssh-filter で捕捉しないと
ユーザはいつまで待ったらいいのかわからないです。
━━━━━━━━━━━━━━ここから━━━━━━━━━━━━━━
diff -pu -F^( mew-1.95b97.org/mew-ssh.el mew-1.95b97/mew-ssh.el
--- mew-1.95b97.org/mew-ssh.el Mon Jan 8 20:12:49 2001
+++ mew-1.95b97/mew-ssh.el Fri Jan 12 14:20:15 2001
@@ -28,6 +28,9 @@ (defconst mew-ssh-msg-connected
(defconst mew-ssh-msg-denyed
'("Permission denied\\." "Permission denied\\." "Permission denied\\."))
+(defconst mew-ssh-msg-refused
+ '("" "" "Secure connection .* refused\\."))
+
(defconst mew-ssh-process-exec-cnt 3)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
@@ -170,7 +173,9 @@ (defun mew-ssh-filter (process string)
(process-send-string process (concat pass "\n")))
(mew-passwd-set-passwd (mew-ssh-passtag pnm) nil)
(message "Can't find ssh process")))
- ((string-match (mew-ssh-get mew-ssh-msg-denyed) string)
+ ((or
+ (string-match (mew-ssh-get mew-ssh-msg-denyed) string)
+ (string-match (mew-ssh-get mew-ssh-msg-refused) string))
(message "Can't connect to the SSH server")
(mew-passwd-set-passwd (mew-ssh-passtag pnm) nil)
(mew-ssh-set-status pnm 'denied))
━━━━━━━━━━━━━━ここまで━━━━━━━━━━━━━━
サーバに到達できない場合に
ユーザがC-gでI(mew-summary-get)をquitしても
sshプロセスが残ったままのようです。(もちろんそのうち消えます)
--
KOIE Hidetaka 鯉江英隆 <hide at example.com>
Mew-dist メーリングリストの案内