由於Google雲服務對新註冊使用者提供為期一年的300美金贈金,就想著在GCP上玩一下。但是因為是新手,對伺服器的一些操作不是很熟悉,在GCP上新建立的Compute Engine無法在本地使用Xshell遠端登入,通過對比網上的一些資料,最後成功使用Xshell通過金鑰形式登入了伺服器,特此記錄一下,以防之後建立新機器的時候忘記。
-
前提
擁有外幣信用卡,並且成功註冊了GCP獲得贈金,建立了一臺虛擬機器例項。
-
實際操作
1. 先通過瀏覽器登入伺服器,順手把伺服器的密碼改了(後面可以使用賬號密碼登入)。
# 切換到root使用者 sudo su root # 設定root使用者密碼 passwd # 設定預設登入使用者密碼(例:使用者lauasuka) passwd lauasuka 複製程式碼
此時的使用者lauasuka會無法使用sudo命令,修改sudoers檔案。
# 當前使用者為root,切換目錄到root的home下 cd ~ # 編輯修改/etc/sudoers檔案 visudo 複製程式碼
修改sshd的配置檔案,啟用金鑰認證登入,同時關閉密碼認證,並重啟服務
vim /etc/ssh/ssh_config ## 修改下面引數的值 # PubkeyAuthentication yes #啟用PublicKey認證 # PasswordAuthentication no #不適用密碼認證登入 systemctl restart sshd #重啟sshd服務 複製程式碼
2. 金鑰生成
首先切換回普通使用者,使用ssh-keygen生成金鑰對(金鑰密碼可選),此時會在當前使用者的家目錄生成.ssh目錄,並且目錄下會生成公鑰 id_rsa.pub 和私鑰檔案 id_rsa。
將公鑰追加到authorized_keys檔案
# 當前使用者為普通使用者 sudo cat id_rsa.pub >> {當前使用者家目錄}/.ssh/authorized_keys # 更改authorized_keys檔案許可權為擁有者可讀寫 sudo chmod 600 {當前使用者家目錄}/.ssh/authorized_keys 複製程式碼
3. 使用Xshell金鑰連線
將當前使用者私鑰檔案 id_rsa 下載到本地。 開啟Xshell,點選 工具 > 使用者金鑰管理者,匯入剛剛下載的id_rsa私鑰
之後就可以像賬號密碼登入一樣登入伺服器了,新增連線的時候 使用者身份驗證
-
最後
其實操作步驟可以反過來,金鑰對由本地Xshell生成,然後將本地生成的公鑰上傳到伺服器並追加到authorized_keys檔案中