Telnet サーバーの問題

Telnet サーバーの問題

Telnet サーバーの問題

最新のYumアップデート(2016年7月20日)により、仮想マシンの1つのTelnetサーバーが破損しているようです。使用同じサーバーへのSSH接続が正しく機能します。。問題を把握しようとしていますが、私が何をしているのかわかりません。ですから得られる助けをいただきありがとうございます。

兆候

Telnet プロトコルを使用してサーバーにログインすると、次の動作が発生します。

[uniworks@mort ~]$
                   [uniworks@mort ~]$
                                      [uniworks@mort ~]$
                                                         [uniworks@mort ~]$
                                                                            speed 9600 baud; rows 64; columns 80; line = 0;
intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = <undef>;
eol2 = <undef>; swtch = <undef>; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R;
werase = ^W; lnext = ^V; flush = ^O; min = 1; time = 0;
-parenb -parodd cs8 -hupcl -cstopb cread -clocal -crtscts -cdtrdsr
-ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr icrnl ixon -ixoff
-iuclc -ixany -imaxbel -iutf8
opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0
isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt
echoctl echoke

ご覧のとおり、コマンドは画面に反映されず(たとえば、「sty -echo」をオンにする)、Enterキーを押すと「階段」効果が表示されます。

おそらく重要なことは、接続するとすぐにいくつかの問題が発生したことです。ログインする前に:

Trying 128.222.3.71...
Connected to mort.
Escape character is '^]'.
Scientific Linux release 6.8 (Carbon)
Kernel 2.6.32-504.16.2.el6.x86_64 on an x86_64
ogin:
      Password:
                ast login: Mon Jul 25 12:15:44 from sam
ress the <Backspace> key now:

ご覧のとおり、「login:」の最初の文字が欠落しているため、入力したユーザー名は表示されません。

診断

まず、これらの症状はTelnetを使用した場合にのみ表示されます。他の以前のRHEL 4.7サーバーに接続されたセッションを使用し、そのセッションから問題のサーバーにTelnetを試みました。それから出て同じセッションで次に、同じユーザー名などを使用して問題サーバーに接続します。その後、このプロセスを何度も繰り返しましたが、結果は同じでした。したがって、Telnet エミュレータ、ユーザー、その他の設定は問題になりません。

ログイン後、TERMとsttyの設定を確認してみるとほぼ同じです。 Telnet セッションでは、速度は 9600cf に設定されます。 38400 SSH を使用して接続すると、「stty lnext」が「^V」に設定されます。 cf。 "" - どちらも重要には見えません。万が一に備えて同じにしてみましたが、何の違いもありません。

上矢印キー+Enterを使用して前のコマンドを繰り返すと、コマンドが表示されますが、最初の文字がありません。 「man stty」と入力すると、マニュアルページが正常に表示されるようです。

また、テキストファイルからvimを実行しようとしましたが、奇妙な文字が表示され、問題が端末の問題のように見えますが、SSH接続で動作する理由がわかりません...

プラットフォーム

サイエンティフィックLinux 6x:

[root@mort ~]# cat /etc/redhat-release
Scientific Linux release 6.8 (Carbon)

いくつかのパッケージバージョン:

[root@mort ~]# rpm -q glibc xinetd telnet-server ncurses ncurses-base ncurses-libs
glibc-2.12-1.192.el6.x86_64
xinetd-2.3.14-40.el6.x86_64
telnet-server-0.17-48.el6.x86_64
ncurses-5.7-4.20090207.el6.x86_64
ncurses-base-5.7-4.20090207.el6.x86_64
ncurses-libs-5.7-4.20090207.el6.x86_64

答え1

うーん…次のことをしてから問題がなくなったようです。

  1. パッケージと関連パッケージをyum updateインストールする他の作業を行いました。kernel-2.6.32-642.3.1.el6.x86_64kernel-firmware
  2. 適用されるMicrosoft ユニバーサル修正数年前 - すべて追い出してサーバー(VM)を再起動しました。

(samba4-libs、xorg-x11-drv-ati-firmware、kernel-devel、kernel-headersパッケージのアップデートもありますが、これが重要かどうか疑問です。)

「last」の出力を見ると、この質問を書いた当日の朝にサーバーを再起動したことがわかります。これらのモードは"kernel*""*firmware*"Scientific Linux)パッケージのデフォルト設定から自動アップデートプロセスから明示的に除外されるため、yum-autoupdateアップデートを手動でインストールした場合は問題が見つからなかった可能性があります。私はこの動作を見たことがありません。実際には、カーネルの更新によって以前に目立つ副作用を見たことがないので、これは私にとって新しい現象です。

答え2

(新しい)ログインを処理するために使用されるttyにまだ接続されているバックグラウンドプロセスがあるようです。再起動するとプロセスが終了し、問題が解決します。

tty別の解決策は、影響を受けたtty(run)の名前を解決し、それを使用してps -ft {ttyname}プロセスとそれを識別することですkill

ps -t $(tty) | awk 'NR>1 {print $1}' | sudo xargs kill -TERM

関連情報