執筆の経緯
現在フリーランスで活動しています。この度新しい案件に参画することが決まったので、現在の現場で使っていた便利な小ネタなどをメモしておきたいと思い、この記事を書きます。
やること
GCEのインスタンスにアクセスするとき、sshコマンドで以下のようなコマンドを実行します。
ssh {ユーザー名}@{外部ipアドレス}
具体的には以下。
ssh sekine@111.111.111.111
ただし、アクセスするごとに外部ipアドレスをコピペするのは手間です。なので、インスタンスに名前をつけて、
ssh gpu_server
のような簡単なコマンドでアクセスできるようにします。
実行環境
- zsh
- MakBook Pro, Apple M1
やったこと
以下のようなファイルを作りました。
~/.ssh/config
#User sekine
#IdentityFile ~/.ssh/id_rsa
Host gpu_server
HostName 111.111.111.111
User sekine
IdentityFile ~/.ssh/id_rsa
Host cpu_server
HostName 222.222.222.222
User sekine
IdentityFile ~/.ssh/id_rsa
秘密鍵、公開鍵を作る時に.sshディレクトリを作成するかと思います。その.sshディレクトリ内にconfigというファイルを作り、上のような内容を記載します。
パラメータは下のようになります。
| パラメータ | 説明 |
|---|---|
| HostName | アクセスしたいインスタンスの外部ipアドレス エフェメラルの場合起動するたびにコピペします |
| User | アクセスするユーザーの名前 |
| IdentityFile | 秘密鍵のファイルパス |
このファイルを設定することで、一度HostNameを設定しておけば、以下のコマンドで何度でも簡単にインスタンスにアクセスできるようになります。
ssh gpu_server
備考
このファイルを設定した当時はこのやり方が簡単そうで採用しましたが、より簡単にインスタンスへアクセスする方法がありましたら教えてください!