😛
SSH接続について
いままでわかりそうで分からなかったことを解決していくSSH接続
LinuCの勉強を始めた新卒!
SSH通信とは
・リモートホストにログインするとき使われる
・公開鍵暗号方式が用いられる
・Open SSHのクライアントコマンドであり、サーバーはsshd
ローカルホストとリモートホストとは
ローカルホスト
sshコマンドを実行するホスト
例:GCPComputeに接続するときのターミナル
リモートホスト
リモートログイン先のホスト
例:GCPのCompute側
サーバー・ホスト認証とユーザ認証
サーバー・ホスト認証
始めの一回しか行われない。
サーバーを認可したら、known_hostsファイルが作られ、
サーバーホスト名、IPアドレス、公開鍵が入る
サーバーの公開鍵!!
ユーザー認証
毎回必要
①クライアントがsshでログインを試みる
クライアント側での公開鍵を秘密鍵で署名化したものをおくる
②サーバーは、署名が復号されたものがauthorized_keysのものか確かめる
あっていればユーザー認可
クライアントの公開鍵!!
実際にGCPと接続してみる
①クライアント側で鍵のペアを作る
ssh-keygen -t rsa -f ~/.ssh/my-ssh-key -C NAME -b 2048
②公開鍵をVMの認証に張り付ける
③指定の方法でログインを試みる
ssh -i ~/.ssh/my-ssh-key NAME@ip
④クライアント側にknown_hostsが爆誕
⑤サーバー側にauthorized_keysが爆誕(公開鍵が入っている)
Discussion