因爲Google雲服務對新註冊用戶提供爲期一年的300美金贈金,就想着在GCP上玩一下。可是由於是新手,對服務器的一些操做不是很熟悉,在GCP上新建立的Compute Engine沒法在本地使用Xshell遠程登陸,經過對比網上的一些資料,最後成功使用Xshell經過密鑰形式登陸了服務器,特此記錄一下,以防以後建立新機器的時候忘記。shell
擁有外幣信用卡,而且成功註冊了GCP得到贈金,建立了一臺虛擬機實例。vim
# 切換到root用戶
sudo su root
# 設置root用戶密碼
passwd
# 設置默認登陸用戶密碼(例:用戶lauasuka)
passwd lauasuka
複製代碼
此時的用戶lauasuka會沒法使用sudo命令,修改sudoers文件。瀏覽器
# 當前用戶爲root,切換目錄到root的home下
cd ~
# 編輯修改/etc/sudoers文件
visudo
複製代碼
修改sshd的配置文件,啓用密鑰認證登陸,同時關閉密碼認證,並重啓服務bash
vim /etc/ssh/ssh_config
## 修改下面參數的值
# PubkeyAuthentication yes #啓用PublicKey認證
# PasswordAuthentication no #不適用密碼認證登陸
systemctl restart sshd #重啓sshd服務
複製代碼
首先切換回普通用戶,使用ssh-keygen生成密鑰對(密鑰密碼可選),此時會在當前用戶的家目錄生成.ssh目錄,而且目錄下會生成公鑰 id_rsa.pub 和私鑰文件 id_rsa。服務器
將公鑰追加到authorized_keys文件ssh
# 當前用戶爲普通用戶
sudo cat id_rsa.pub >> {當前用戶家目錄}/.ssh/authorized_keys
# 更改authorized_keys文件權限爲擁有者可讀寫
sudo chmod 600 {當前用戶家目錄}/.ssh/authorized_keys
複製代碼
將當前用戶私鑰文件 id_rsa 下載到本地。 打開Xshell,點擊 工具 > 用戶密鑰管理者,導入剛剛下載的id_rsa私鑰工具
以後就能夠像帳號密碼登陸同樣登陸服務器了,新增鏈接的時候 用戶身份驗證ui
其實操做步驟能夠反過來,密鑰對由本地Xshell生成,而後將本地生成的公鑰上傳到服務器並追加到authorized_keys文件中spa