「macOS」でSSHのユーザー名を設定するには
今回は「「macOS」でSSHのユーザー名を設定するには」についてご紹介します。
関連ワード (macOSを使いこなす、特集・解説等) についても参考にしながら、ぜひ本記事について議論していってくださいね。
本記事は、ZDNet Japan様で掲載されている内容を参考にしておりますので、より詳しく内容を知りたい方は、ページ下の元記事リンクより参照ください。
筆者は「Linux」を常用している。デスクトップとサーバーで同じユーザー名を使用することが多い。つまり、筆者のSSHコマンドのほとんどは、以下のような形式になる。
非常に長い間、SSHを使用してきたので、その習慣は自分の中にしっかりと根付いている。
しかし、「MacBook」や「iMac」を使用する場合、それらのユーザー名はLinuxサーバーと異なることが多い。つまり、そのコマンドは、以下のように変換する必要がある(Usernameはリモートサーバー上のユーザー名)。
確かに、大した違いはない。コマンドにユーザー名を追加するのに、それほど時間はかからない。しかし、サーバーへのログインとログアウトを1日に何度も実行する必要がある場合は、その無駄な時間が蓄積されていく。さらに、SSHコマンドにユーザー名を追加するのを忘れたことに気づいた場合は(これは1日に何度も起こりえる)、「Ctrl」+「C」でコマンドを強制終了して、再入力する必要があり、イライラさせられる。
幸いなことに、それを回避する方法がある。SSHには、ユーザー固有の設定ファイルがあり、そこで、すべてのSSH接続にデフォルトのユーザー名を設定することが可能だ。その設定ファイルでは、個々の接続のエントリーを作成できる。個々のエントリーは、以下のようになる。
上記の設定では、以下のオプションが説明されている。
この方法によって、SSH経由で接続するすべてのリモートマシンに個別のエントリーを設定することが可能だ。ファイルには、好きなだけ多くのエントリーを追加できる。さらに、すべてのエントリーに異なるオプションを設定することも可能だ。
ただし、本記事で説明するのは、すべての接続にデフォルトのユーザー名を設定する手順だ。このオプションを設定した後、ユーザー名なしでSSHコマンドを実行すると、設定ファイルでデフォルトに設定したユーザー名が適用される。ただし、ユーザー名を含む個々のエントリーがある場合は、それらのエントリーがデフォルトよりも優先される。
それはどういう意味なのだろうか。例えば、設定ファイルで、デフォルトのSSHユーザー名をjackに設定したとしよう。さらに、設定ファイルには、以下のエントリーがある。
ssh microk8sコマンドを実行すると、SSHはoliviaというユーザー名をこの接続に適用する。
この設定を実際に実行してみよう。
まず、ターミナルアプリを開く。これを行うには、macOSの「Dock」で「Launchpad」をクリックした後、ターミナルアプリを検索し、クリックして開く。
ターミナルウィンドウから、以下のコマンドを実行して、編集対象の設定ファイルを開く。
ファイルの先頭に、以下のようなエントリーを追加する。Usernameは、設定したいユーザーだ。
そのエントリーを追加したら、「Ctrl」+「X」キーボードショートカットでファイルを保存して閉じる。
これで、SSH経由で任意のサーバーに接続するとき、コマンドのユーザー名を省略できるようになった。もちろん、リモートユーザー名が先ほど設定したデフォルトのユーザー名と異なる場合は、そのユーザー名をコマンドに追加するだけで、デフォルトの設定をバイパスできる。