私が最後に覚えているのは、ソフトとハードメモリのロックulimitを無制限に変更したことです。これで、コンピュータにSSHでアクセスできません。
これはSSHログです。
Authenticated to IP ([IP]:22).
debug1: channel 0: new [client-session]
debug2: channel 0: send open
debug1: Requesting [email protected]
debug1: Entering interactive session.
debug2: callback start
debug2: fd 3 setting TCP_NODELAY
debug2: client_session2_setup: id 0
debug2: channel 0: request pty-req confirm 1
debug1: Sending environment.
debug1: Sending env LC_CTYPE =
debug2: channel 0: request env confirm 0
debug2: channel 0: request shell confirm 1
debug2: callback done
debug2: channel 0: open confirm rwindow 0 rmax 32768
debug2: channel_input_status_confirm: type 99 id 0
debug2: PTY allocation request accepted on channel 0
debug2: channel 0: rcvd adjust 2097152
debug2: channel_input_status_confirm: type 99 id 0
debug2: shell request accepted on channel 0
Last login: Wed Aug 6 07:18:07 2014 from IP-SOURCE
debug2: channel 0: rcvd eof
debug2: channel 0: output open -> drain
debug2: channel 0: obuf empty
debug2: channel 0: close_write
debug2: channel 0: output drain -> closed
debug1: client_input_channel_req: channel 0 rtype exit-status reply 0
debug1: client_input_channel_req: channel 0 rtype [email protected] reply 0
debug2: channel 0: rcvd eow
debug2: channel 0: close_read
debug2: channel 0: input open -> closed
debug2: channel 0: rcvd close
debug2: channel 0: almost dead
debug2: channel 0: gc: notify user
debug2: channel 0: gc: user detached
debug2: channel 0: send close
debug2: channel 0: is dead
debug2: channel 0: garbage collecting
debug1: channel 0: free: client-session, nchannels 1
Connection to IP closed.
Transferred: sent 4256, received 2504 bytes, in 0.4 seconds
Bytes per second: sent 9616.9, received 5658.0
debug1: Exit status 254
ここに投稿する前に、これまで成功していないまま、次のことを試しました。
norc noprofileを使ってログインしてみてください。
ssh user@host 'bash --noprofile'
強制的にtty
ssh -t user@host
bash_profileを移動しました。 SSHで試してください
ssh user@host
。ファイル名を変更して
limits.conf
読まないことを願っています。SSH サーバーを再起動します。
knife
asでコマンドを実行するknife ssh "name:server" "come_command"
ssh user@host 'ulimit -l 64'
、、、、ssh user@host 'ulimit -S -l 64'
ssh user@host 'ulimit -H -l 64'
ssh user@host 'exec ulimit -H -l 64'
ssh user@host "some_command"
inline:コマンドを実行するこの方法は単純なディレクトリのリストを取得できないため、うまくいくかどうかわかりません。再起動も試みましたが、ssh user@host 'reboot'
コマンドが実行されていないようです。また、成功せずにAWSでマシンを再起動しました。
SSHの試みは失敗しますか? sshでサーバーに接続する方法はありますか?
答え1
変更を試す
UsePAM yes
存在する
UsePAM no
(
/etc/ssh/sshd_config
CentOS用)
答え2
同様の問題がありますが、次のような奇妙なメッセージしか表示されないようです。
client_input_channel_req: channel 0 rtype exit-status reply 0.
入力したいssh
ユーザーデフォルトのシェルはありません。。
次のコマンドを実行しました。
chsh -s $(which sh) username
それから私はできましたssh
。
メモ:
実行するとsu username
終了コード1
(失敗)が返され、正常に動作します。
答え3
カーネルパラメータファイル/etc/security/limits.confで開かれたファイル設定を無制限に変更し、接続が失われました。
ルートに正常に復元した後、接続を復元しました。
Wrong Example:
## Example hard limit for max opened files
* hard nofile unlimited
root hard nofile unlimited
## Example soft limit for max opened files
* soft nofile unlimited
root soft nofile unlimited
Correct Ex:
## Example hard limit for max opened files
* hard nofile 16000
root hard nofile 16000
## Example soft limit for max opened files
* soft nofile 16000
root soft nofile 16000
答え4
私はこれに会ったMac OS X機能させる構成に問題が~/.bashrc
ありますが、ssh
sftp
いいえ働く@stéphane-chazelasは上記のコメントで正しい考えを持っているようです。
SSHを介してリモートシステムで名前を変更し、~/.bashrc
再~/.bashrc-MOVED
試行して機能していることを確認し、~/.bashrc
問題を修復して識別します。
私のシステムには~/.bashrc
以下が含まれています。
if [ -z "$PS1" ] ; then
exit
fi
これが犯人かもしれません。