使用 SSH 登陆谷歌云 root 或者 普通账户的方法

本文详细介绍了如何在谷歌云GCP中配置SSH,包括使用root账户和普通用户通过生成私钥进行安全登录的过程。从配置sshd_config文件允许root登录和密码验证,到使用SecureCRT等SSH工具连接实例,提供了全面的指导。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

参考 :

  1. https://blog.youkuaiyun.com/datadev_sh/article/details/79593360

1. 使用 root 账户登陆

1.1 在谷歌云中配置

按照下图所示在谷歌云的 GCP 中依次打开实例菜单

然后在谷歌云面板中的 VM实例 界面使用如下操作, 使用浏览器窗口打开SSH.

点击后会弹出如下窗口. 等待连接上VM.

连接完毕后窗口会变成一个黑底绿字的命令行窗口, 接着使用下面的操作. (可以复制代码后在窗口中使用 shift + ins 粘贴)

  1. 切换为 root 用户

     sudo -i 
    
  2. 编辑配置文件

     vi /etc/ssh/sshd_config
    

    这里先不要进入编辑模式.
    首先输入 /PermitRootLogin 敲回车搜索到这个配置变量, 然后按键 i 进入编辑模式, 把原本的那个前面加 # 注释掉, 另复制一行把值改为 yes, 代表允许用户使用 root 账户登陆

    然后按键 Esc 退出编辑模式, 输入 /PasswordAuthentication 同样改为 yes, 代表允许用户使用密码登陆

  3. root 用户设置密码

     passwd root
    
  4. 重启 SSH 服务

     /etc/init.d/ssh restart
    

1.2 使用 SSH 工具登陆

然后使用 SSH 工具登陆, 我用的是 SecureCRT , 所以下面的演示是在 SecureCRT 下进行的.

首先使用 Alt + Q 打开快速连接窗口, 在 Hostname 里输入实例的外部 IP , 端口默认 22. Usernameroot, 然后按照下图所示, 先选择 Password 再选择右侧的 Properties

填入两次密码之后点 OKConnect 连接. 这样就成功使用 root 账户登陆了.

2. 使用普通用户登陆

2.1 生成私钥

用使用 SSH 当然免不了要创建一个了. 我用的是 PuTTY 自带的 PuTTYgen , 如果使用 Xshell之类的自行百度下, 其实步骤大同小异. 如图:

PS: 生成后可以把 Key comment 改为你想要的名称, 这样下面你在连接的时候可以使用比较熟悉的Username 作为登录名, 然后使用 Ctrl + C 把上面显示的那串 ssh-rsa.. 开头的公钥复制下来. 待会要用到这个.

2.2 把私钥添加到谷歌云的实例中

按照下图所示在谷歌云的 GCP 中依次打开实例菜单

点击实例的名称进入实例的详情后. 进入页面后点击上方的修改, 然后拉到下方找到如下图的地方点击添加一项, 把刚刚复制的公钥粘贴进去, 记得, 正确的公钥是在结尾会有一个空格加上你的 Username , 例如: “…== qian” , 我的已经添加了, 所以有一条 SSH 记录.

然后点击保存.

2.3 使用SSH工具连接到实例

虽然私钥是用的 PuTTY 生成的, 但是开发时我用的是 SecureCRT , 所以下面的演示是在 SecureCRT 下进行的.

首先使用 Alt + Q 打开快速连接窗口, 在 Hostname 里输入实例的外部 IP , 端口默认 22. Username 填你上面设置的, 之后按照下图先点击 PublicKey 再点 Properties.

之后按照下图操作. 在打开的窗口选择私钥的 ppk 文件, 然后点击 OK

然后点击 Connect 即可正常连接.

### 如何通过 SSH 连接到谷歌云实例 #### 使用谷歌云控制台中的SSH按钮连接 在谷歌云控制台的"VM实例"页面,可以找到已创建的GPU实例。单击实例名称旁边的SSH按钮,在浏览器中即可打开SSH终端[^2]。 #### 手动建立SSH连接 对于那些偏好手动配置或需要自动化脚本的情况,也可以直接使用本地计算机上的SSH客户端来连接到Google Cloud实例: 1. 获取外部IP地址:确保知道要连接的目标虚拟机实例的外部IPv4地址。 2. 配置身份验证:通常情况下,推荐使用基于密钥的身份验证方式而非密码认证。这涉及到生成一对公私钥,并将公钥上传至目标机器上特定位置(通常是`~/.ssh/authorized_keys`文件)。如果是在Windows环境下工作,则可能需要用到像PuTTY这样的工具来进行转换和管理这些密钥对。 3. 建立安全通道:一旦完成了上述准备工作之后就可以利用标准命令行工具发起SSH会话了。例如,在Linux/macOS系统下可以直接运行如下命令: ```bash ssh username@external-ip-address ``` 其中`username`是要登录用户的用户名,而`external-ip-address`则是之前获取的那个公网IP地址。 #### 移动设备上的SSH连接 对于希望随时随地访问自己云端资源的人来说,在移动平台上也能轻松实现这一点。具体来说就是借助专门的应用程序完成这项任务。比如针对iOS系统的用户可以选择iTerminal-SSH Telnet这类应用按照官方文档指导操作;而对于Android手机和平板电脑而言则有JuiceSSH可供选用[^1]。 ```python import paramiko def connect_to_gcp_instance(ip_address, username, key_filename=None): """ Connects to a GCP instance using SSH. :param ip_address: The external IP address of the VM instance. :param username: Username for logging into the VM. :param key_filename: Path to private key file (optional). """ client = paramiko.SSHClient() client.set_missing_host_key_policy(paramiko.AutoAddPolicy()) try: client.connect(hostname=ip_address, username=username, key_filename=key_filename) print(f'Successfully connected to {ip_address}') except Exception as e: print(f'Failed to connect due to error: {str(e)}') finally: client.close() connect_to_gcp_instance('your.external.ip.address', 'your_username', '/path/to/private/key') ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值