SSH経由でCentOSシステムにログインしようとすると、パスワードを入力した後に機能が停止します。システムにコンソールを入力して実行すると、ログインしようとしているw
ユーザーに対して実行中の「cvsサーバー」を表示できます。
USER TTY FROM LOGIN IDLE PCPU WHAT
root pts/1 systemname 11:37 1:14m 0.00s cvs server
セキュリティログでは、有効なログインのように見えます。
Accept password for root from 172.0.0.17 port 53270 ssh2
pam_unix(sshd:session): session opened for user root by (uid=0)
通常のログインのように見えますが、実際にはプロンプトは表示されません。 SSHDサービスを再起動してみましたが、同じ問題が発生しました。これはプロダクションボックスなので再起動するのがちょっと躊躇しますね。ログファイルに疑わしい内容が見つからないようです。
実行しssh -vvv
て接続しようとすると大丈夫に見えますが、「チャンネルで要求を受け付けています...」以降、ログインメッセージは表示されません。これは-vvvの最後に貼り付けたものです。
debug2: channel 1: request shell confirm 1
debug3: send packet: type 98
debug2: callback done
debug2: channel 1: open confirm rwindow 0 rmax 32768
debug3: receive packet: type 99
debug2: channel_input_status_confirm: type 99 id 1
debug2: PTY allocation request accepted on channel 1
debug2: channel 1: rcvd adjust 2097152
debug3: receive packet: type 99
debug2: channel_input_status_confirm: type 99 id 1
debug2: shell request accepted on channel 1
また、ネットワークファイアウォールを通過してパケット損失やそのような現象はないか確認してみましたが、そのようなことは起こりませんでした。他のシステムでも試してみましたが、同じ問題が発生しました。
私はこれを以前に見たことがなく、この正確な問題に関する良い情報を見つけることができないようです。どんな助けでも大変感謝します!
.bashrc
編集:ここにはrootアカウントのみがあり、rootアカウントがないか、rootまたは.bash_profile
他の場所にあります。ただし、anとaが表示されますcvs.sh
。起動時に実行するスクリプトを探すforループが表示されます。cvs.csh
/etc/profile.d/
/etc/profile/
/etc/profile.d/
このスクリプトの内容は次のとおりです。
CVS.sh
# change default from rsh to ssh for cvs command
export CVS_RSH=${CVS_RSH-ssh}
CVS.csh
# change default from rsh to ssh for cvs command
if ( "$?CVS_RSH" == 0 ) setenv CVS_RSH ssh
私はそれを探していると思いましたが、スクリプトディレクトリにcvs
サーバーserver
に関連するものは何も見えません。私が探すべき他の場所がありますか?私はすべての一般的な場所で設定ファイルを見ましたが、何も見ませんでした。
ありがとうございます!
ベストアンサー1
悩みを見つけました。前の項目がsshd_config
含まれていますForceCommand cvs server
。コメントフラグを調整してサービスを再起動すると、正常にログインできました。
実際、最初はファイルを見ましたが、毎日すべてを確認していませんでした。 1、2時間ほど節約してすぐに徹底的に理解できたはずなのに…。