複数ホストへのssh接続やscpを簡単に管理できる’configファイル’の記述方法
2014 October 20
複数ホストを管理して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/
でファイルをアップロードできます。簡単!