# GCP 如何采用第三方工具 ssh 连接

By [0xFish](https://paragraph.com/@ccnewscc) · 2022-07-22

---

GCP（Google Cloud Platform）是 Google 自研的云计算平台，当购买云主机后会碰到如何远程 SSH连接的问题，因此编写该文档用于为新手简化操作。

方法有很多种，这里介绍几个常见的，本次的环境采用 \`Ubuntu 18.04 LTS\` 系统进行说明：

方法一：通过密码方式登录
------------

*   点击 SSH
    

![](https://storage.googleapis.com/papyrus_images/d718b79bab24ec6f7d537033a3118f48301e782625c89b42a420b62e47317ca4.png)

等待上传私钥

![](https://storage.googleapis.com/papyrus_images/2e7bc92a76123a0b106510a8b874e228e9d63ad9dd03fe5542a21dd8725d1099.png)

*   登录成功
    

![](https://storage.googleapis.com/papyrus_images/e1e8de7837b48a441c78021599d62f45a4956898026f75348aa37234ea25e454.png)

*   执行命
    

![](https://storage.googleapis.com/papyrus_images/66b83b2cfc9c3f5762a639cfd400d3356305ad2b93e095cb28b456ef13ef4234.png)

**涉及命令如下：**

*   修改 sshd 配置
    

    # 提权
    sudo -i
    # 允许root登录
    sed -i 's/PermitRootLogin no/PermitRootLogin yes/' /etc/ssh/sshd_config
    # 允许密码认证
    sed -i 's/PasswordAuthentication no/PasswordAuthentication yes/' /etc/ssh/sshd_config
    

*   检查配置是否修改
    

    # 查看修改是否生效
    egrep --color '(PermitRootLogin|PasswordAuthentication)' /etc/ssh/sshd_config
    

确保如下的配置取消注释：

    PermitRootLogin yes
    PasswordAuthentication yes
    # PasswordAuthentication.  Depending on your PAM configuration,
    PermitRootLogin yes
    

*   设置root密码，并重启ssh服务
    

    # 设置root密码
    passwd root
    # 重启sshd服务
    systemctl restart sshd
    

生成证书
----

> 说明： 以下的方式均需要用到证书，因此需要先生成证书。

*   生成证书
    

![](https://storage.googleapis.com/papyrus_images/f9e1015f438aa0958f2e4d7a1313582b78d6a7bd62b777d7d6a6aeac0ec9e4e4.png)

> 说明：并复制公钥内容，自行找到自己的目录下面 `.pub` 结尾的文件，并复制里面的内容即可，我这里的路径是 `~/.ssh/ssh_gcp_iopssre.pub`

### 方式二：证书的方式登录（如何是新建主机）

*   点击元数据
    

![](https://storage.googleapis.com/papyrus_images/df27caaabe95bfc4321d66b35529644dbb5e817ba2acd850af1fdded1e980e42.png)

*   点击修改
    

![](https://storage.googleapis.com/papyrus_images/19e31b81845ee17c4d3517f3986b9c3179b9a340b4733f05bdc692e4e7bead28.png)

*   添加公钥
    
*   保存
    

![](https://storage.googleapis.com/papyrus_images/b662105819e0738e32eac5302087361dd52830247f61ac31aa3c1de7719f70f2.png)

*   查看公钥信息
    

保存成功后，可以看到登录的用户名

![](https://storage.googleapis.com/papyrus_images/b3c265840c5a8cf54c3a17ef8aacdb6fdb4cbee3c2cd632b811515a6e679d59e.png)

*   回到实例页面
    

**然后创建虚拟机时会自动注入**

### 方式三：针对已经创建的虚拟机配置

*   回到GCP 点击要远程登录的云主机
    

![](https://storage.googleapis.com/papyrus_images/7cc0b878d1729e0cc511aa9c10edfee3e8dcea428292940616a6fc22300c1240.png)

*   点击修改
    

![](https://storage.googleapis.com/papyrus_images/00da2322218c02c190044ea45c488883555506aee17583e4e1565d0750ce91d1.png)

*   滚动到安全与访问权限
    

**新增一个公钥，并把刚才复制的公钥内容粘贴进去即可**

![](https://storage.googleapis.com/papyrus_images/e0d0366cf969ec8b2abf570408bd8d45f37288871b612ae23752d4f9daab8ad9.png)

点击保存即可。

### 通过三方工具登录

*   调整为证书模式
    

![](https://storage.googleapis.com/papyrus_images/eae4817c26c0559c1532d872826a2d9928064ac4746fde548d07d2178ba39726.png)

*   浏览公钥，保存即可
    

![](https://storage.googleapis.com/papyrus_images/2e78b231a99b8e8dc55ed6fa9429782cac44c8d3487079477dcad67983b08392.png)

---

*Originally published on [0xFish](https://paragraph.com/@ccnewscc/gcp-ssh)*
