😛

SSH接続について

2024/10/23に公開

いままでわかりそうで分からなかったことを解決していく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が爆誕(公開鍵が入っている)

https://cloud.google.com/compute/docs/connect/standard-ssh?hl=ja#openssh-client

Discussion