SSH免密登录实战:3分钟实现 ssh openclaw 一键连接
·
摘要:本文手把手教你配置SSH免密登录,从生成密钥、上传公钥到配置SSH别名,最终实现
ssh openclaw一键连接服务器+自动建立隧道。告别繁琐密码输入,提升远程开发效率!
一、前言
作为开发者,每天频繁连接远程服务器是常态。每次输入密码不仅繁琐,还存在密码泄露风险。SSH密钥认证是目前最安全的远程登录方式,配合SSH别名配置,可实现真正的一键连接。
本文以连接OpenClaw服务器为例,带你3分钟搞定免密登录配置。
二、生成SSH密钥(本地电脑)
2.1 检查现有密钥
ls ~/.ssh/id_rsa
如果显示文件已存在,可直接使用,跳到第三步。
2.2 生成新密钥
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
操作提示:一路按回车即可,使用默认路径和空密码(或设置密码短语增强安全)。
生成后会得到两个文件:
~/.ssh/id_rsa—— 私钥(务必保密)~/.ssh/id_rsa.pub—— 公钥(可安全分发)
三、上传公钥到服务器
3.1 使用ssh-copy-id(推荐)
最简单的方式,一键完成:
ssh-copy-id -p 26509 root@103.47.81.189
按提示输入一次服务器密码,公钥自动上传。
3.2 手动复制(备选)
如果ssh-copy-id不可用,手动操作:
cat ~/.ssh/id_rsa.pub | ssh -p 26509 root@103.47.81.189 "mkdir -p ~/.ssh && chmod 700 ~/.ssh && cat >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys"
四、测试免密登录
ssh -p 26509 root@103.47.81.189
🎉 无需输入密码即成功!
如果仍提示密码,检查:
- 服务器
~/.ssh权限是否为700 ~/.ssh/authorized_keys权限是否为600- SELinux是否关闭(CentOS)
五、配置SSH别名+隧道(一劳永逸)
5.1 编辑SSH配置文件
Mac/Linux:
vim ~/.ssh/config
Windows:
C:\Users\你的用户名\.ssh\config
5.2 添加配置
Host openclaw
HostName 103.47.81.189
User root
Port 26509
LocalForward 8087 127.0.0.1:8087
ServerAliveInterval 60
ServerAliveCountMax 3
IdentityFile ~/.ssh/id_rsa
参数说明:
| 参数 | 说明 |
|---|---|
| Host | 别名,自定义 |
| HostName | 服务器IP或域名 |
| User | 登录用户名 |
| Port | SSH端口 |
| LocalForward | 本地端口转发(隧道) |
| ServerAliveInterval | 心跳检测间隔(秒) |
| ServerAliveCountMax | 最大心跳失败次数 |
| IdentityFile | 私钥路径 |
六、一键连接实战
6.1 连接服务器
ssh openclaw
无需输入密码,隧道自动建立!
6.2 访问服务
浏览器打开:http://localhost:8087
6.3 后台运行(不占用终端)
ssh -fN openclaw
参数说明:
-f后台运行-N不执行远程命令(仅做端口转发)
6.4 关闭隧道
pkill -f "ssh.*openclaw"
或查找进程ID后kill:
ps aux | grep ssh
七、Windows PuTTY免密配置
7.1 转换私钥格式
PuTTY使用.ppk格式,需用PuTTYgen转换:
- 打开PuTTYgen → Conversions → Import key
- 选择
id_rsa文件 - 点击Save private key,保存为
openclaw.ppk
7.2 PuTTY配置
- Session:Host Name填
103.47.81.189,Port填26509 - Connection → SSH → Auth:浏览选择
openclaw.ppk - Connection → SSH → Tunnels:
- Source port:
8087 - Destination:
127.0.0.1:8087 - 点击Add
- Source port:
- Connection:Seconds between keepalives填
60 - Session:Saved Sessions填
openclaw,点击Save保存
以后双击保存的会话即可免密连接!
八、常见问题排查
| 现象 | 原因 | 解决 |
|---|---|---|
| 仍提示输入密码 | 权限问题 | 服务器执行chmod 700 ~/.ssh && chmod 600 ~/.ssh/authorized_keys |
| Permission denied | SELinux限制 | setenforce 0临时关闭 |
| Bad owner/permissions | 本地私钥权限太开放 | chmod 600 ~/.ssh/id_rsa |
| 连接超时 | 防火墙阻挡 | 检查服务器SSH端口是否开放 |
| 别名不生效 | 配置文件格式错误 | 检查缩进和空格,Host前无空格 |
九、安全建议
- 私钥保管:
id_rsa相当于你的身份证,切勿上传GitHub或分享给他人 - 密钥密码:生成时可设置密码短语,即使私钥泄露也多一层保护
- 定期轮换:建议每6-12个月更换一次密钥对
- 多密钥管理:不同服务器使用不同密钥,避免一损俱损
# 生成专用密钥
ssh-keygen -t ed25519 -f ~/.ssh/openclaw_key -C "openclaw-server"
十、写在最后
配置SSH免密登录后,远程开发效率提升不止一点点:
- ✅ 告别重复输入密码
- ✅ 一键连接+自动隧道
- ✅ 后台运行不占用终端
- ✅ 安全性比密码更高
如果你有任何问题,欢迎在评论区留言!觉得有用的话,点赞收藏不迷路 👍
标签: SSH 免密登录 远程开发
📌 版权声明:本文为原创内容,版权归作者所有,转载需注明出处。
更多推荐

所有评论(0)