はじめに
キーペア、公開鍵、秘密鍵の理解から始まりましたが、なんとか踏み台サーバーを経由して目的のサーバーへアクセスすることができました。
ローカル、ファイルパス等基本的な用語の理解を復習すると良いのかと思います。
流れ
- ローカル環境のキーペアを、踏み台サーバーへ送る
- 踏み台サーバーへアクセスする
- 受け取ったキーペアを持って目的のサーバーへアクセスする
やったこと
まずは、ローカル環境のキーペアを踏み台サーバーへ送ります。
ローカル環境?となりましたが、ec2に接続する前の状態がローカル環境です。
ちなみにキーペアは、
cd #ホームディレクトリへ移動
cd ~/.ssh #sshへ移動
ls #中身を確認
この中にEC2作成時に作成したキーペアが存在します。
このキーペアの理解も私は躓きました。
この記事を読みイメージがしやすくなりました。
送る鍵がわかったところで、実際に踏み台サーバーへキーペアを送ります。
scp -i [キーペアファイルのパス] [送信元先ローカルファイルパス] [ユーザ名@ドメイン]:[転送先EC2ファイルパス]
scp -i ~/.ssh/lsで確認した送りたいキーペア ~/.ssh/lsで確認した送りたいキーペア ec2-user@送信先IPアドレス:.ssh/lsで確認した送りたいキーペア
私は、送りたい鍵を送信先でも同じように使用するため、
[転送先EC2ファイルパス]にも同様の名前を入力しました。
(理解が合っているかはわかりません、、、もっと調べます。)
一度、[送信元ローカルファイルパス]を送りたい鍵ではないものに設定し、
[転送先EC2ファイルパス]は使いたい名前、つまり.ssh/lsで確認した送りたいキーペアを指定して送信してしまい、
一見名前は合っているけど鍵の中身が異なっていて使えないという状況になったので、ファイルパス名はよく確認してください。
踏み台サーバーに接続し、
#ホームディレクトリへ移動
cd
#sshへ移動
cd ~/.ssh
#中身を確認
ls
で確認することで、先ほどまではなかった鍵が受け取れていると思います。
目的のサーバーへの接続は、踏み台サーバーへの接続と同様のコマンドで大丈夫です。
ssh -i ~/.ssh/キーペア ec2-user@IPアドレス
終わりに
理解があまりできていないところ、おかしいところがあるかと思いますが、
その際はご指摘いただけると幸いです。
参考