技術系

【Linux】サーバ間をノンパスでSSH接続したい時にやる鍵交換の方法

投稿日:


頻繁に接続しに行くサーバで毎回パスワード打つのは面倒くさいので鍵交換することでパス無しでSSH接続を可能にします。

スポンサーリンク

自分の端末をAサーバ、接続したいサーバをBサーバとします。

Aサーバ上で公開鍵を作成

いろいろと聞かれますが何も気にせずにエンターで問題なしです。
すると、

  • id_rsa (秘密鍵)
  • id_rsa.pub (公開鍵)

というファイルが出来上がります。
pubがついてるほうが公開鍵になりますので今回はこいつを使います。
※pub はpublicという意味だと思うのでそれを知ってるだけでだいぶ覚えやすいですね。

ファイルができあがったら、

で中身を出力してまるっとコピーです。
とりあえずここまででAサーバ上での作業は終わりです。

Bサーバ上にAサーバで作った公開鍵を配置

Bサーバにログインしますがこの時SSHで接続したいユーザになることを忘れてないでください。

というコマンドで接続しに行くならrootでBサーバではrootでログインしてくださいって話です。
今回はrootで接続するのを想定して話を進めます。

ここまではAサーバでやったことと一緒。
この後、

を打ってさっきコピーした公開鍵をそのまま貼り付けです。
貼り付けたら、

:wq

で保存して終了です。

以上で鍵交換が完了したことになります。
「え?マジで?こんな簡単なん?」
って感じですが意外と簡単なんです。

SSH接続確認

Aサーバ上で、

を打ってみましょう。見事ノンパスでログインできれば成功です。
何かしらの再起動とかは不要です。
※初回の接続だと接続先情報がknown_hostsに書かれてなくて何か聞かれるかもですがyesと一回打てば以降は何も聞かれないはずです。

補足

オプション

http://euske.github.io/openssh-jman/ssh-keygen.html

こちらに詳しく書かれてます。暗号化方式とかファイル名とかももちろん指定できますので必要に応じてどうぞ。

ちなみに

Aサーバで作った.sshディレクトリをCサーバにそのまま持っていくことでCサーバからBサーバにノンパスで行くことも可能です。

要は作った鍵と配置した鍵が一致していればどこにでも行けるのです。現実世界で考えると当然っちゃ当然ですね。鍵が合えば開けられるので。

今日の一言

こういうのはだいたいすぐ忘れちゃう。


スポンサードリンク

スポンサードリンク

-技術系

Copyright© chat-blog , 2017 AllRights Reserved.