2013年7月30日火曜日

Write failed: Broken pipeエラー

急にサーバーにsshで繋がらなくなった・・・(; ・`д・´)

サーバーが落ちたのかと思いサーバー会社に再起動の依頼を出そうかと思ったら
某氏が別のユーザーならログインできるとのことΣ(゚Д゚ υ) アリャ

以下、sshでログインできないアカウント名をuser1、
ログインできるアカウント名をuser2とする。
$ ssh user1@192.168.0.2
user1@192.168.0.2's password:
Write failed: Broken pipe
-vvオプションをつけて再度実行してみる。
$ ssh -vv user1@192.168.0.2
OpenSSH_5.3p1, OpenSSL 1.0.0-fips 29 Mar 2010
debug1: Reading configuration data /home/user1/.ssh/config
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Applying options for *
debug2: ssh_connect: needpriv 0
debug1: Connecting to 192.168.0.2 [192.168.0.2] port 22.
debug1: Connection established.
debug1: identity file /home/user1/.ssh/identity type -1
debug1: identity file /home/user1/.ssh/id_rsa type -1
debug1: identity file /home/user1/.ssh/id_dsa type -1
debug1: Remote protocol version 2.0, remote software version OpenSSH_5.3
debug1: match: OpenSSH_5.3 pat OpenSSH*
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_5.3
debug2: fd 3 setting O_NONBLOCK
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug2: kex_parse_kexinit: diffie-hellman-group-exchange-sha256,diffie-hellman-group-exchange-sha1,diffie-hellman-group14-sha1,diffie-hellman-group1-sha1
debug2: kex_parse_kexinit: ssh-rsa,ssh-dss
debug2: kex_parse_kexinit: aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,aes192-cbc,aes256-cbc,arcfour,rijndael-cbc@lysator.liu.se
debug2: kex_parse_kexinit: aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,aes192-cbc,aes256-cbc,arcfour,rijndael-cbc@lysator.liu.se
debug2: kex_parse_kexinit: hmac-md5,hmac-sha1,umac-64@openssh.com,hmac-ripemd160,hmac-ripemd160@openssh.com,hmac-sha1-96,hmac-md5-96
debug2: kex_parse_kexinit: hmac-md5,hmac-sha1,umac-64@openssh.com,hmac-ripemd160,hmac-ripemd160@openssh.com,hmac-sha1-96,hmac-md5-96
debug2: kex_parse_kexinit: none,zlib@openssh.com,zlib
debug2: kex_parse_kexinit: none,zlib@openssh.com,zlib
debug2: kex_parse_kexinit:
debug2: kex_parse_kexinit:
debug2: kex_parse_kexinit: first_kex_follows 0
debug2: kex_parse_kexinit: reserved 0
debug2: kex_parse_kexinit: diffie-hellman-group-exchange-sha256,diffie-hellman-group-exchange-sha1,diffie-hellman-group14-sha1,diffie-hellman-group1-sha1
debug2: kex_parse_kexinit: ssh-rsa,ssh-dss
debug2: kex_parse_kexinit: aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,aes192-cbc,aes256-cbc,arcfour,rijndael-cbc@lysator.liu.se
debug2: kex_parse_kexinit: aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,aes192-cbc,aes256-cbc,arcfour,rijndael-cbc@lysator.liu.se
debug2: kex_parse_kexinit: hmac-md5,hmac-sha1,umac-64@openssh.com,hmac-ripemd160,hmac-ripemd160@openssh.com,hmac-sha1-96,hmac-md5-96
debug2: kex_parse_kexinit: hmac-md5,hmac-sha1,umac-64@openssh.com,hmac-ripemd160,hmac-ripemd160@openssh.com,hmac-sha1-96,hmac-md5-96
debug2: kex_parse_kexinit: none,zlib@openssh.com
debug2: kex_parse_kexinit: none,zlib@openssh.com
debug2: kex_parse_kexinit:
debug2: kex_parse_kexinit:
debug2: kex_parse_kexinit: first_kex_follows 0
debug2: kex_parse_kexinit: reserved 0
debug2: mac_setup: found hmac-md5
debug1: kex: server->client aes128-ctr hmac-md5 none
debug2: mac_setup: found hmac-md5
debug1: kex: client->server aes128-ctr hmac-md5 none
debug1: SSH2_MSG_KEX_DH_GEX_REQUEST(1024<1024<8192) sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_GROUP
debug2: dh_gen_key: priv key bits set: 126/256
debug2: bits set: 519/1024
debug1: SSH2_MSG_KEX_DH_GEX_INIT sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_REPLY
debug1: Host '192.168.0.2' is known and matches the RSA host key.
debug1: Found key in /home/user1/.ssh/known_hosts:14
debug2: bits set: 528/1024
debug1: ssh_rsa_verify: signature correct
debug2: kex_derive_keys
debug2: set_newkeys: mode 1
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug2: set_newkeys: mode 0
debug1: SSH2_MSG_NEWKEYS received
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug2: service_accept: ssh-userauth
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug2: key: /home/user1/.ssh/identity ((nil))
debug2: key: /home/user1/.ssh/id_rsa ((nil))
debug2: key: /home/user1/.ssh/id_dsa ((nil))
debug1: Authentications that can continue: publickey,gssapi-keyex,gssapi-with-mic,password
debug1: Next authentication method: publickey
debug1: Trying private key: /home/user1/.ssh/identity
debug1: Trying private key: /home/user1/.ssh/id_rsa
debug1: Trying private key: /home/user1/.ssh/id_dsa
debug2: we did not send a packet, disable method
debug1: Next authentication method: password
user1@192.168.0.2's password:
debug2: we sent a password packet, wait for reply
debug1: Authentication succeeded (password).
debug1: channel 0: new [client-session]
debug2: channel 0: send open
debug1: Requesting no-more-sessions@openssh.com
debug1: Entering interactive session.
Write failed: Broken pipe
良く分からないエラー(´;ω;`)ウッ…
先ほどログインが出来るという別ユーザーでログインを確認してみる(; ・`д・´)
$ ssh admin@192.168.0.2
admin@192.168.0.2's password:
Last login: Tue Jul 23 19:43:23 2013 from 192.168.0.11
ログイン(゚∀゚)キタコレ!!

user2でログインできたのでuser1に切り替えてみようとすると、
エラーが発生してしまって切り替えが出来ないだとΣ(゚Д゚;エーッ!
$ su - user1
パスワード:
su: cannot set user id: リソースが一時的に利用できません
このエラーが解決できずに頭を悩ましていたら、
どこかのサイトを見たかなんかでふと、ファイルディスクリプタ数を確認してみることに。

これについては以前に記事も書いています。
ファイルディスクリプタ数について
$ ps -U user1 | wc -l
1026
1026・・・えーっと、確かデフォルトは1024だったような・・・?(; ・`д・´)
$ ulimit -n
1024
やっぱりド━━━━m9(゚∀゚)━━━━ン!!
なので、上限値をあげておきます。
$ ls -alt /etc/security/limits.d/
合計 12
drwxr-xr-x. 6 root root 4096  2月 25 09:56 2013 ..
drwxr-xr-x. 2 root root 4096  2月 25 09:56 2013 .
-rw-r--r--. 1 root root  152  4月 16 18:04 2012 90-nproc.conf
#アカウント名.confでファイル名を作る
$ sudo vi /etc/security/limits.d/user1.conf

#OSの最大値785338
* soft nofile 10000
* hard nofile 10000
とりあえず、ファイルディスクリプタ数の上限を越えてしまっているので、
再起動を行ってリセってを行い、ログインできなかったユーザーでログインをして、
設定したファイルディスクリプタ数が反映されているか確認する。
$ ulimit -n
10000
以上です(`・ω・´)ゞビシッ!!

これで直った気がしなくも無いけど、直っていないかもしれない((((;゚Д゚))))ガクガクブルブル
暫く様子を見るしか・・・orz

そもそも何でファイルディスクリプタ数の上限を越えるような状態になったのかは不明だったり・・・シーッ! d( ゚ε゚;)

参考URL

0 件のコメント:

コメントを投稿