Google 的免费云服务器的 SSH 管理

本文详细介绍了如何在Google Cloud上申请免费云服务器并配置SSH连接。包括创建SSH密钥对,上传公钥至云服务器,以及如何从本地Win10电脑直接SSH连接至Linux虚拟机。

Google 的免费云服务器

首先注册一个 gmail 账号作为你的 Google 账号,然后去 cloud.google.com 申请开通免费的云服务器。所谓免费,是指 Google 会给你的账户里 300 美金用于支付服务器的租金,试用期一年。申请时需要一个 Visa 的信用卡。具体方法网上很多介绍文章,自己去 Google 具体操作的文章。

这个云服务器,可以是 Windows 可以是 Linux,但是,Windows 是付费账户才能开。我们开一个 Linux 服务器吧。我开的是 Ubuntu 的服务器。并且在开通时要了一个可以外部访问的共有 IP 地址。有了公有 IP 地址,我就可以从我的电脑里面直接访问它了。测试了一下,虽然是 Google 家的云服务,IP 地址还是可以访问的,无需翻墙。

服务器安装好以后,可以进去管理了。在 Google Cloud 的控制台页面里面,能够看到这个虚拟机服务器实例,可以点击上面的 SSH 弹出一个浏览器窗口,在浏览器窗口里面,直接用输入命令的方式管理这个 Linux 服务器。

如何在 Win10 电脑上直接 SSH 上去管理这个服务器

查了一下 Google 的官方文档,说得有点凌乱。俺猜测了一下,然后没完全按照官方文档的做法,按照我自己的理解来做,也成功了。具体做法如下:

1. 从它的管理控制台:

https://console.cloud.google.com/compute/instances?project=txxxxxxxxxxxxxxx

页面里面,左侧菜单,Computer Engineer ,可以看到右边的虚拟机实例。如下图:

2. 选择 Computer Engine 后,进入 Computer Engine 页面,可以看到你的虚拟机实例,如下图:

 

3. 上图右侧,我的虚拟机的名字是 linux-1,这个是申请虚拟机服务器的时候我自己取的名字。点击上图的【连接】,选择在浏览器窗口打开,弹出一个浏览器窗口,在这个浏览器的 SSH 终端窗口里面可以用命令行操作虚拟机的 Linux 了。

4. 我要在本地 Win10 电脑上直接 SSH 连接上去,而不是通过浏览器的方式,则首先要在本地 Win10 电脑上创建一个用于 SSH 的密钥对(公钥和私钥一对)。

4.1.  首先,要在本地 Win10 电脑上,创建 SSH 密钥对。创建方法:启动 WIN10 的 PowerShell ,在里面输入命令 ssh-keygen 回车,然后根据提示操作。这里要注意的是提示你输入保存 SSH KEY 的文件名,需要输入全路径文件名。然后它会创建 2 个文件。输入的时候,并没有问我用户名。后来使用的时候发现,用户名就是我自己在 WIN10 系统里面的登录名字。我在这里输入的文件名是 D:\google,结果就在 D 盘根目录下为我创建了两个文件,一个文件的文件名是 google,一个文件的文件名是 google.pub,这个带 pub 后缀的文件是公钥。另外一个自然就是私钥了。

4.2. 把公钥上传给 Linux 虚拟机:在 google 的管理控制台页面,也就是上图,点击虚拟机的名字,我这里的虚拟机名字是 linux-1,进入【虚拟机实例详情】页面。顶上有个 【修改】,点击它,使得页面的数据进入可以修改状态。如下图:

 

4.3. 进入修改状态后,滚动页面到底部,靠近底部位置有 SSH 管理如图:

 

4.4. 点击上图中的【显示和修改】,下拉开界面,出现【添加一项】按钮,点击它,出来一个框,里面的提示文字:输入SSH公钥。如图:

 

 

4.5. 然后,在本地 WIN10 电脑的文件夹里面,用文本编辑器(我是用 nopad++)打开前面自己创建的公钥文件,我这里的文件名是 google.pub 那个文件。打开后里面的文字就是公钥。复制这些字符串,粘贴到上面那个框里面去。拉到页面底部,点击底部的保存按钮。

5. 这里我重启了 Linux 虚拟机。

6. SSH连接远程 Linux 虚拟机服务器:我在本地 Win10 的 PowerShell 里面,输入 SSH 命令:
ssh -i D:\googleCloud\google pcplayer@xx.xx.xx.xxx
连接远程虚拟机的 Linux 成功了。


上述命令中,D:\googleCloud\google 是我的私钥文件的全路径文件名。pcplayer 是我创建公私钥时候的电脑登录名。

总结:
1. 在本地电脑创建 SSH 的公私钥,并把公钥上传给Google的云服务器;
2. 在本地电脑的 PowerShell 里面直接用 ssh 命令连上服务器。
 

接下来,我要试试用 Delphi 的 WebBroker 写一个 Web Server 程序放上去,看能不能访问打开页面。

云服务器上启用 UFW(Uncomplicated Firewall)后,如果 SSH 连接失败,通常是由于防火墙规则配置不当导致的。以下是一些排查和解决方法: ### 1. 检查 UFW 状态和规则 首先确认 UFW 是否已启用,并查看当前的防火墙规则。 ```bash sudo ufw status verbose ``` 如果输出显示 UFW 处于活动状态,则需要检查是否允许 SSH 流量。默认情况下,SSH 使用的是端口 22。确保有规则允许该端口的流量: ```bash sudo ufw allow 22/tcp ``` 如果 SSH 服务配置为使用其他端口(例如 2222),则需要相应地调整规则: ```bash sudo ufw allow 2222/tcp ``` ### 2. 检查 SSH 服务是否运行 确保 SSH 服务正在运行,并且没有被意外停止。 ```bash sudo systemctl status ssh ``` 如果服务未运行,可以尝试启动它: ```bash sudo systemctl start ssh ``` ### 3. 检查 SSH 配置文件 检查 `/etc/ssh/sshd_config` 文件,确保没有配置错误。特别注意以下几点: - `Port`:确保端口号与 UFW 允许的端口一致。 - `PermitRootLogin`:如果设置为 `no`,则不能使用 root 用户登录。 - `PasswordAuthentication`:如果设置为 `no`,则需要使用密钥认证。 修改配置文件后,重启 SSH 服务: ```bash sudo systemctl restart ssh ``` ### 4. 检查云服务提供商的安全组设置 云服务提供商(如 AWS、Azure、Google Cloud)通常有自己的安全组或网络 ACL 设置。确保这些设置也允许 SSH 流量通过。 ### 5. 检查本地网络连接 有时问题可能出在本地网络上。尝试从不同的网络连接,或者检查本地防火墙设置,确保没有阻止 SSH 流量。 ### 6. 使用控制台访问 如果无法通过 SSH 连接,大多数云服务提供商提供了一个基于 Web 的控制台访问功能。使用该功能登录服务器,并检查上述步骤。 ### 7. 临时禁用 UFW 进行测试 为了确认问题是否由 UFW 引起,可以临时禁用 UFW 并测试 SSH 连接: ```bash sudo ufw disable ``` 如果此时可以连接,说明问题确实与 UFW 规则有关。重新启用 UFW 并调整规则: ```bash sudo ufw enable ``` ### 8. 重置 UFW 规则 如果 UFW 规则变得复杂或难以管理,可以考虑重置所有规则并重新开始: ```bash sudo ufw reset ``` 然后重新添加必要的规则,例如允许 SSH 流量: ```bash sudo ufw allow 22/tcp sudo ufw enable ``` ### 总结 通过以上步骤,应该能够找到并解决 UFW 启用后 SSH 连接失败的问题。常见的原因包括 UFW 规则未正确配置、SSH 服务未运行、云服务提供商的安全组设置不当等。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值