「macOS」でSSHのユーザー名を設定するには

Jack Wallen (Special to ZDNET.com) 翻訳校正: 編集部

2023-01-31 07:45

 筆者は「Linux」を常用している。デスクトップとサーバーで同じユーザー名を使用することが多い。つまり、筆者のSSHコマンドのほとんどは、以下のような形式になる。

ssh 192.168.1.100

 非常に長い間、SSHを使用してきたので、その習慣は自分の中にしっかりと根付いている。

 しかし、「MacBook」や「iMac」を使用する場合、それらのユーザー名はLinuxサーバーと異なることが多い。つまり、そのコマンドは、以下のように変換する必要がある(Usernameはリモートサーバー上のユーザー名)。

ssh USERNAME@192.168.1.100

 確かに、大した違いはない。コマンドにユーザー名を追加するのに、それほど時間はかからない。しかし、サーバーへのログインとログアウトを1日に何度も実行する必要がある場合は、その無駄な時間が蓄積されていく。さらに、SSHコマンドにユーザー名を追加するのを忘れたことに気づいた場合は(これは1日に何度も起こりえる)、「Ctrl」+「C」でコマンドを強制終了して、再入力する必要があり、イライラさせられる。

 幸いなことに、それを回避する方法がある。SSHには、ユーザー固有の設定ファイルがあり、そこで、すべてのSSH接続にデフォルトのユーザー名を設定することが可能だ。その設定ファイルでは、個々の接続のエントリーを作成できる。個々のエントリーは、以下のようになる。

Host ubuntu-invoice
   User jack
   Hostname 192.168.1.100
   IdentityFile ~/.ssh/id_rsa

 上記の設定では、以下のオプションが説明されている。

  • Host:接続に使用されるニックネーム(これにより、ssh ubuntu-invoiceだけで接続することが可能になる)。
  • User:接続に使用されるユーザー名。
  • Hostname:接続先のIPアドレスまたはドメイン。
  • IdentityFile:SSH鍵認証を使用する場合、ここで、使用する鍵ファイルが定義される。

 この方法によって、SSH経由で接続するすべてのリモートマシンに個別のエントリーを設定することが可能だ。ファイルには、好きなだけ多くのエントリーを追加できる。さらに、すべてのエントリーに異なるオプションを設定することも可能だ。

 ただし、本記事で説明するのは、すべての接続にデフォルトのユーザー名を設定する手順だ。このオプションを設定した後、ユーザー名なしでSSHコマンドを実行すると、設定ファイルでデフォルトに設定したユーザー名が適用される。ただし、ユーザー名を含む個々のエントリーがある場合は、それらのエントリーがデフォルトよりも優先される。

 それはどういう意味なのだろうか。例えば、設定ファイルで、デフォルトのSSHユーザー名をjackに設定したとしよう。さらに、設定ファイルには、以下のエントリーがある。

Host microk8s
   User olivia
   Hostname 192.168.1.70

 ssh microk8sコマンドを実行すると、SSHはoliviaというユーザー名をこの接続に適用する。

 この設定を実際に実行してみよう。

macOSでSSHユーザー名を設定する方法

1. ターミナルアプリを開く

 まず、ターミナルアプリを開く。これを行うには、macOSの「Dock」で「Launchpad」をクリックした後、ターミナルアプリを検索し、クリックして開く。

2. SSH設定ファイルを開いて編集する

 ターミナルウィンドウから、以下のコマンドを実行して、編集対象の設定ファイルを開く。

nano ~/.ssh/config

3. ユーザーエントリーを追加する。

 ファイルの先頭に、以下のようなエントリーを追加する。Usernameは、設定したいユーザーだ。

Host *
    User USERNAME

 そのエントリーを追加したら、「Ctrl」+「X」キーボードショートカットでファイルを保存して閉じる。

 これで、SSH経由で任意のサーバーに接続するとき、コマンドのユーザー名を省略できるようになった。もちろん、リモートユーザー名が先ほど設定したデフォルトのユーザー名と異なる場合は、そのユーザー名をコマンドに追加するだけで、デフォルトの設定をバイパスできる。

提供:Apple
提供:Apple

この記事は海外Red Ventures発の記事を朝日インタラクティブが日本向けに編集したものです。

ZDNET Japan 記事を毎朝メールでまとめ読み(登録無料)

ZDNET Japan クイックポール

自社にとって最大のセキュリティ脅威は何ですか

NEWSLETTERS

エンタープライズ・コンピューティングの最前線を配信

ZDNET Japanは、CIOとITマネージャーを対象に、ビジネス課題の解決とITを活用した新たな価値創造を支援します。
ITビジネス全般については、CNET Japanをご覧ください。

このサイトでは、利用状況の把握や広告配信などのために、Cookieなどを使用してアクセスデータを取得・利用しています。 これ以降ページを遷移した場合、Cookieなどの設定や使用に同意したことになります。
Cookieなどの設定や使用の詳細、オプトアウトについては詳細をご覧ください。
[ 閉じる ]