複数のサーバーにSSHで接続する必要がある場合は、さまざまなユーザー名、ホスト名、IPアドレス、さらにはそれらに接続するためのカスタム秘密鍵をすべて覚えておくのは非常に困難です。 この問題を解決するためのコマンドラインショートカットを作成するのは、実際には非常に簡単です。 それを行うには2つの主要な方法があり、それぞれの長所と短所について説明します。

方法1:SSH構成を使用する

LinuxやMacなどの*NIXマシン上のSSHには、すぐに使用できるデフォルトのショートカット機能があります。 セットアップも非常に簡単です。 これらの2つの理由から、これはSSHショートカットを設定するための私の好ましい方法です。 最初のステップは、.sshフォルダーに移動することです。

cd ~/.ssh

これに続いて、configというファイルを作成する必要があります。 Vimでそれを行う方法は次のとおりです。

vim config

ここから、ショートカットを作成できます。 ホスト名、ユーザー名、ポート、および秘密鍵を指定できます。 オプションの完全なリストについては、公式ドキュメントにアクセスしてください。 ファイルを構造化する方法の例を次に示します。

Host scotch
    HostName scotch.io
    User nick

Host example2
    HostName example.com
    User root

Host example3
    HostName 64.233.160.0
    User userxyz123
    Port 56000

Host droplet1
    HostName droplet1.digitalocean.com
    User ec2-user
    IdentityFile /path/to/special/privatekey/droplet1.pem

これで、次の簡単なコマンドを使用して、これらのサーバーのいずれかにSSHで接続できます。

ssh scotch
ssh example2
ssh example3
ssh droplet1

これがうまくいかない場合は、次のように構成ファイルのアクセス許可を変更してみてください。

chmod 600 ~/.ssh/config

方法2:シェルのエイリアスを作成する

この方法では、シェル(またはターミナル)のエイリアスを作成します。 これを使用して任意のタイプのショートカットを作成できますが、多くの人がSSHショートカットに使用しています。 これを設定するには、.bash_aliasesファイルに移動する必要があります(または、.bashrcまたは.bash_profileでこれを行う人もいます)。 次のコマンドは、.bash_aliasesファイルが存在しない場合は作成し、すでにVimを使用している場合は編集します。

vim ~/.bash_aliases

ここでは、必要な数のショートカットを追加できます。 上記と同じSSHショートカットを追加する方法は次のとおりです。

alias scotch='ssh [email protected]'
alias example2='ssh [email protected]'
alias example3='ssh [email protected] -p 56000'
alias droplet1='ssh [email protected] -i /path/to/special/privatekey/droplet1.pem'

それらを追加してファイルを保存した後、次のコマンドでエイリアスファイルを「再起動」する必要があります。

source ~/.bash_aliases

それが完了すると、次のように入力するだけで、これらの同じボックスすべてにSSHで接続できるようになります。

scotch
example2
example3
droplet1

この方法は、最初の方法では提供できない可能性のある追加の柔軟性を提供しますが、実際には、ほとんどのユースケースの好みの問題になります。