GCP03 - SSH連線至VM

Zerocatw

前言

有了VM,有了固態ip,是時候連上我們的VM了
連上的方法用的是SSH,這篇會來講解有哪些設定要調,最後才能成功連上VM

SSH設置

流程 :
1. 更改 SSH 設定允許 Root 登錄和密碼驗證
2. 生成公私鑰,把公鑰放到VM上
3. 本地SSH連線至VM

更改 SSH 設定允許 Root 登錄和密碼驗證

先點SSH,直接透過瀏覽器進行 SSH 連線
image

成功進去後輸入指令

1
2
sudo su
vim /etc/ssh/sshd_config

接下來更改以下兩個選項
PermitRootLogin prohibit-password -> PermitRootLogin yes
PasswordAuthentication no -> yes
image

改完後輸入以下兩個指令,重啟ssh服務並更改密碼

1
2
systemctl restart sshd
passwd

生成公私鑰

  1. 先在本機輸入指令(PowerShell),your_email那些可以隨便輸
    ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
    過程中會顯示要把rsa key放到哪裡,如果不同的伺服器會要用到不同的key,就需要更改一下檔名了,我這邊就是改成id_rsa_test

    1
    2
    3
    Generating public/private rsa key pair.
    Enter file in which to save the key(C:\Users\username/.ssh/id_rsa):
    C:\Users\username\.ssh\id_rsa_test

    接下來會問說需不需要設定密碼,如果不需要可以直接按Enter,如果有設定,每次使用這個key的時候就會要你輸入密碼,我這裡就不設定密碼了

    1
    Enter passphrase (empty for no passphrase):

    看到這個就代表成功了

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    Your identification has been saved in C:\Users\username\.ssh\id_rsa_test
    Your public key has been saved in C:\Users\username\.ssh\id_rsa_test.pub
    The key fingerprint is:
    SHA256:PVDWHdpVeymyv0G6HUKNKICudh80JWxOrlsO2it+nAY zerocat@demo.com
    The key's randomart image is:
    +---[RSA 4096]----+
    | o. ...+|
    | o o .o..o|
    | . * .. ....o.|
    | . = + o. = . .|
    | . = .S.o+ o |
    | E. o . . ..+ |
    | oo+.o o + |
    |..+=* . + + |
    |.o++.o . o |
    +----[SHA256]-----+
  2. 輸入指令cat ~/.ssh/id_rsa.pub
    把剛剛生成的公鑰複製下來(email不用複製到)
    這裡不一定是id_rsa.pub喔,要看剛剛在步驟一改了甚麼名,比如說我就是id_rsa_test.pub,但預設沒有做更改的話就是id_rsa.pub

  3. 回到剛剛用瀏覽器ssh上去的介面,輸入指令vim ~/.ssh/authorized_keys
    把剛剛複製的公鑰貼上

  4. 接下來就可以ssh了

本地SSH連線至VM

這裡用兩種連線方式

  1. Windows CMD
  2. MobaXterm

Windows CMD

打開CMD,輸入ssh root@伺服器的外網ip
即可直接連上
比如說我這台就是ssh root@104.199.187.67
image

但剛剛在生成key的時候,如果跟我一樣改了檔名,那就需要加-i來指定檔案
輸入指令ssh -i "檔案路徑" root@伺服器的外網ip

比如說我剛剛是生成id_rsa_test,就會是輸入
ssh -i "C:\Users\username\.ssh\id_rsa_test" root@104.199.187.67

即可成功連線

MobaXterm

打開後點左上角Session -> SSH
Remote Host : VM的外網ip
username : root
好了之後點Advanced SSH setting -> Use private key
選剛剛生成的私鑰(就是沒有副檔名的,有pub副檔名的是公鑰)
最後大概會長這樣
image

按ok後即可成功連線
image

可能會出現的問題

  • Problem 1. Terminal出現以下咚咚
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
    @ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
    @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
    IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
    Someone could be eavesdropping on you right now (man-in-the-middle attack)!
    It is also possible that a host key has just been changed.
    The fingerprint for the ED25519 key sent by the remote host is
    SHA256:wlnmSUPQ8gQs/F7Ww2t224xWN70w9B1naz852egO8t0.
    Please contact your system administrator.
    Add correct host key in C:\\Users\\username/.ssh/known_hosts to get rid of this message.
    Offending ED25519 key in C:\\Users\\username/.ssh/known_hosts:7
    Host key for 104.199.187.67 has changed and you have requested strict checking.
    Host key verification failed.
    lost connection
  • Solve : 根據ip(在此為104.199.187.67),輸入以下指令解決
1
ssh-keygen -R 104.199.187.67

後記

這篇也順利結束惹,下一篇會來介紹防火牆設置的部分

  • Title: GCP03 - SSH連線至VM
  • Author: Zerocatw
  • Created at : 2024-07-22 22:10:10
  • Link: https://zerocatw.github.io/2024/07/22/GCP03 - SSH連線至VM/
  • License: This work is licensed under CC BY-NC-SA 4.0.