MacOSの「ターミナル」SSHアクセスをして、放置しておくと、ターミナルがフリーズ・ログアウトする事象が発生します。
SSHが切断される事象を解決したのでメモしておきます。
※本環境はConoHaVPSを使用しています。
MacOSでSSHアクセス後の放置状態からのフリーズ・ログアウトを防ぐ設定
Macの「ターミナル」でSSHアクセスをし、放置しておくとターミナルを使ってもフリーズし、少しすると以下のコメントが表示され、タイムアウトとなります。
$ client_loop: send disconnect: Broken pipe ~ $ ~ $
このSSHアクセス後の「フリーズ」・「ログアウト」の事象ですが、MacOSのSSHコンフィグの設定が原因となります。
WindowsのTeratermでは何もしなくても良いですが、Macではsshのコンフィグファイルに追加設定する必要があります。
要は、SSHコンフィグファイルのIdleタイムアウトさせず、定期的に「KeepAliv」を送信し接続維持させます。
MacOS「ターミナル」を使用したSSHタイムアウトの解決方法
上記でも説明した通り、MacOSの「ターミナル」ではSSH接続をし、ある程度の時間放置状態となるとタイムアウトとなり、SSHが切断されます。
切断を防ぐためにSSHコンフィグに追加設定をします。
まずは、「.ssh」フォルダ配下の「config」ファイルを編集します。
~ $ vim /Users/{PCの名前}/.ssh/config
コンフィグファイルの中身は以下のようになっており、最終行にKeepAliveの設定を追加します。
Host xxxxxx.com HostName xxxxxx.com User root Port 22 IdentityFile ~/.ssh/20200504153666.pem Host xxxxxx.com HostName xxxxxx.com User root Port 22 IdentityFile ~/.ssh/known_hosts #以下を追加 Host * ServerAliveInterval 60 TCPKeepAlive yes
追加設定の内容
- Host *:全てのホストを指定
- ServerAliveInterval:一定期間パケットを送信し、サーバからデータが送られてこないときに、タイムアウトする秒数。
- TCPKeepAlive:接続状態を継続する場合「yes」、継続しない場合「no」
この設定に関してはVPS接続でも同じようなことがあったのでこちらも参考にしてください。
以上が¥MacOSからのSSH接続がフリーズ・ログアウトする解決方法となります。
エンジニアのオンライン学習
ITエンジニアにおすすめの教材、オンラインスクールです。
無料からエンジニアの学習ができる教材などまとめているので参考にしてください。
おすすめオンライン教材 | |
自宅で学習ができるオンラインスクール | |
ITエンジニアの開発・検証・学習としてインターネット上で専用のサーバ(VPS)を利用しましょう!
実務経験はVPSで学べます。
コメントを残す