Skip to content
共绩算力文档中心

如何使用 SSH 连接云主机

SSH 隧道可以将云服务器的端口代理到本地,或者代理本地端口到云服务器。

electerm - 跨平台 SSH 客户端

推荐使用 [electerm](https://github.com/electerm/electerm) 作为 SSH 客户端,这是一个功能强大的跨平台终端/SSH/SFTP/FTP/Telnet/串口/RDP/VNC 客户端,支持 Linux、Mac 和 Windows 系统。

主要特性:

  • 支持 SSH 隧道功能
  • 多平台支持(Linux、Mac、Windows)
  • 图形化界面,操作简单直观
  • 支持公钥 + 密码认证
  • 内置文件管理器功能
  • 支持多语言界面

安装方式:

  • Mac 用户:brew install --cask electerm
  • Windows 用户:winget install electerm.electerm 或从 Microsoft Store 安装
  • Linux 用户:sudo snap install electerm --classic 或从各发行版的软件商店安装
  • 通过 npm 安装:npm i -g electerm

2.1 代理云服务器中的端口到本地

Section titled “2.1 代理云服务器中的端口到本地”

具体步骤为:

  1. 在云服务器中启动您的服务 在关机状态下配置 SSH 登录
  1. 若您使用的是基础镜像点击完成配置
  1. 配置完成后点击开机
  1. 在本地电脑的终端 (cmd / powershell / terminal 等) 中执行代理命令:
ssh root@hdy1.550c.cloud -p 40002

这是 SSH 首次连接某台服务器时的标准安全提示流程。用户输入 yes 确认信任该主机后,系统将其公钥保存,以便下次连接时验证身份。

Windows 下的 cmd/powershell 如果一直提示密码错误,是因为无法粘贴,手动输入即可(正常不会显示正在输入的密码)

  1. 连接成功
  1. 代理云服务器到本地端口
Terminal window
ssh -vvN -L 8889:127.0.0.1:8888 root@hdy1.550c.cloud -p 40002

典型输出片段(只要出现就说明转发通道已建立):

看到 Entering interactive session. 就表示隧道 OK,不会再有其他提示。

上面代理云服务器中的端口到本地的 Step.2 中的命令:

Terminal window
ssh -CNg -L 8888:127.0.0.1:8888 root@hdy1.550c.cloud -p 40002

只需将上面的命令修改参数 -L 为 -R 即代理本地端口到云服务器

Terminal window
ssh -p 40002 -fN -R 8888:localhost:8889 root@hdy1.550c.cloud
  1. Windows 下执行 ssh 代理时权限报错?

一般有两种错误

第一种:

It is required that your private key files are NOT accessible by others.
This private key will be ignored.
Load key "C:\\Users\\Administrator/.ssh/id_rsa": bad permissions

解决方法:修改报错信息中的C:\\Users\\Administrator/.ssh/id_rsa文件为只读文件

第二种:

Bad owner or permissions on C:\\Users\\Administrator\\.ssh\\config

解决方法:删除该 config 文件C:\\Users\\Administrator\\.ssh\\config文件为只读文件

  1. SSH 指令的各个参数什么含义?
Terminal window
ssh -vvN -L 8889:127.0.0.1:8888 root@hdy1.550c.cloud -p 40002

在 SSH 命令中,各参数的含义如下:

  • -vv:表示输出详细的调试信息,用于诊断连接问题。
  • -N:表示不执行远程命令,仅建立连接。
  • -L:表示本地端口转发,将本地端口映射到远程主机的端口。
  • 8889:127.0.0.1:8888:表示将本地的 8889 端口映射到远程主机 127.0.0.1 的 8888 端口。
  • root:表示远程主机的用户名。
  • hdy1.550c.cloud:表示远程主机的地址。
  • -p 40002:表示远程主机的 SSH 端口。