かわたま.net

Enjoy Creative! かわたまのwebメモ

複数ホストへのssh接続やscpを簡単に管理できる’configファイル’の記述方法

2014 October 20

Tag:

複数ホストを管理してssh接続やscpする際に、認証鍵やユーザー名、IPなどホストごとの設定を毎回指定せずに実行できるようになる、「configファイル」の設定方法をメモします。

ssh(Secure SHell-セキュアシェル-) とは
ネットワークを介して別のコンピュータにログインして操作するためのソフトウェアの一つ。通信経路が暗号化されるため、インターネットなどを経由しても安全にアクセスすることができます。
scpとは
scpコマンドはファイルをSSHで暗号化した上で転送してくれるコマンド。ローカルからリモートもしくはリモートからローカルへの転送に使用できます。

configファイルの記述方法

ローカルの.sshディレクトリに「config」という名前のファイルを作成して、「ホスト名」「ユーザ名」「ポート番号」「秘密鍵」を記述します。

// .sshディレクトリに移動
$ cd .ssh

// 「config」ファイルを作成
$ vim config

// 「config」ファイルに以下を記述します
//(下記は kawa.net と tama.net の2ホスト分を記述しています)
Host kawa.net
 Hostname 172.16.130.131
 User kawatama
 Port 12345
 IdentityFile ~/.ssh/id_rsa
Host tama.net
 Hostname 172.16.130.132
 User kawatama
 Port 56789
 IdentityFile ~/.ssh/id_rsa

複数ファイルを記述する場合は上記にように5行ずつ追加していきます。

Host
configファイルを利用してログインする際に使うホスト名(任意)。サイト名など、自分でわかりやすい名前に。

HostName
実際にログインするホスト名を指定します。

User
ユーザ名を指定します。

Port
ポート番号を指定します。

IdentityFile
そのホストで使用する秘密鍵の絶対パスを指定します。

ssh接続する方法

$ ssh 設定したホスト名

例えば、上記で設定した kawa.net の場合
$ ssh kawa.net
となります。簡単!

scpする方法

$ scp ファイル名 転送先ホスト名:ディレクトリ

例えば、ローカルから上記で設定した kawa.net へ、ファイル(Dropbox直下にあるindex.php)を転送する場合
$ scp Dropbox/index.php kawa.net:/var/www/kawa.net/
でファイルをアップロードできます。簡単!