Linuxのトラブル対処方法
Ubuntuのアプリケーションがフリーズしたときの対処方と強制終了の方法を2つピックアップする。
GUIがフリーズしてもシステムは生きている可能性がある
X Window Systemのフリーズ
入門者がUbuntuを使用している場合、「X Window System」が起動していることが多いはずだ。要は黒いコマンドしか打てない画面ではなく、デスクトップ画面だ。
「X Window Systemがフリーズする」ことは時々ある。そういう時は落ち着いてまずコンソールへ移動しよう。
killコマンド
「Control+Alt+F2~F4」あたりを押してみてほしい、コンソールでのログイン画面へ移動できるはずだ。
そこから日常で使っているユーザでログインしてkillコマンドを使用してフリーズしているプロセスをkillしよう。そのあとに「Control+Alt+F7」でXWindowSystemの画面にもどることが出来る。
killの書式は基本的に以下のとおりだ。管理者権限のプロセスをkillする場合はsudoなどを使用する。
$ sudo kill <プロセスid>
プロセスidがわからない時はtopや
$ ps aux
としてプロセスのidを確かめよう。もしくは
$ sudo killall <アプリケーション名>
としてもプロセスをkill出来る。
カーネルが生きている状態で強制再起動する
Ubuntuの場合、特に設定をしなくても「MagicSysRq」による受付が有効になっているので。以下のようにすると比較的安全に強制再起動できる。
とても押しにくいショートカットだが、非常手段なので我慢しよう。
- Alt+PrintScreen+R (X Window Systemからキーボードの権限を奪取する)
- Alt+PrintScreen+S(ファイルシステムをSyncしてすべての書き込みを完了させる)
- Alt+PrintScreen+E(プロセスにSIGTERMシグナルを伝達終了させる)
- Alt+PrintScreen+I(終わらなかったプロセスを強制終了させる)
- Alt+PrintScreen+U(ファイルシステムを読み込み専用モードへ変更するため、リマウントする)
- Alt+PrintScreen+B(再起動する)
- (一般的なキーボードではAlt+PrintScreenがSysRqとなっている)
この手段はカーネルが生きている場合にのみ通用する手段となっている。なのでカーネルパニックなどに陥っていると使えない。
OSを入れ直し、同じPC名でログインすると
OSを入れなおして、再度SSH接続する時に良く遭遇するケールです。
$ ssh root@192.168.1.200 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY! Someone could be eavesdropping on you right now (man-in-the-middle attack)! It is also possible that a host key has just been changed. The fingerprint for the ECDSA key sent by the remote host is SHA256:nvZSvgg4gWxsNYpXZsI2lb/XbIAEhTmq6K9ApXIetKE. Please contact your system administrator. Add correct host key in /home/user_name/.ssh/known_hosts to get rid of this message. Offending ECDSA key in /home/user_name/.ssh/known_hosts:8 remove with: ssh-keygen -f "/home/user_name/.ssh/known_hosts" -R 192.168.1.200 Password authentication is disabled to avoid man-in-the-middle attacks. Keyboard-interactive authentication is disabled to avoid man-in-the-middle attacks. Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password).
これは、SSH接続する相手の情報があるのに、SSH接続に必要なキーが異なっている為に起きると思われる
上記の記載内容で、色を付けた部分でkeyを削除して再接続すればOKです。再掲すると・・・
$ ssh-keygen -f "/home/user_name/.ssh/known_hosts" -R 192.168.1.200
この作業後は、正常にSSH接続が出来るようになります。
参考サイト:https://eng-entrance.com/linux-ubuntu-termination