项目

一般

简介

行为

memo #5

打开

如何使用ssh让ec2链接到oracle

heliang大约 2 个月 之前添加.

状态:
New
优先级:
Normal
指派给:
-
开始日期:
2026-01-01
计划完成日期:
% 完成:

0%

预期时间:

描述

好,这一步非常关键,而且现在情况已经清晰了很多
我先给你一句结论,再慢慢拆:

网络、端口、SSH 服务全是 OK 的
现在卡住的只有一件事:
👉 Oracle 这台机器只允许“密钥登录”,不允许密码登录

这是 Oracle Cloud 的默认安全策略,不是你哪里操作错了。


一、你现在这个输出到底说明了什么?

Are you sure you want to continue connecting? yes
Warning: Permanently added ...
ubuntu@150.230.102.236: Permission denied (publickey).

逐条翻译成人话:

  1. ✅ EC2 → Oracle 网络是通的
  2. ✅ SSH 握手成功(指纹校验完成)
  3. 认证阶段失败
  4. ❌ Oracle 只接受 publickey

👉 所以它根本没给你输密码的机会


二、为什么 Oracle 一定要用 key?

Oracle Cloud 的 Ubuntu 镜像,默认是:

  • PasswordAuthentication no
  • PubkeyAuthentication yes
  • PermitRootLogin no

这是它“安全第一”的设计,不是 Bug。

👉 你必须把 EC2 的 SSH 公钥,放进 Oracle 的 authorized_keys


三、正确、标准、最稳妥的解决方案(强烈推荐)

🎯 目标

EC2(root)
👉 无密码 SSH 登录 Oracle(ubuntu)


四、一步一步来(别跳)

Step 1️⃣ 在 EC2 上生成 SSH key(如果没有)

在 EC2 上执行:

ls ~/.ssh

如果你看到了:

  • id_rsa
  • id_rsa.pub

👉 说明已经有了,可以跳到 Step 2

如果没有,就生成一个:

ssh-keygen -t ed25519 -C "ec2-to-oracle"

一路回车即可,不设密码(方便 sshfs)


Step 2️⃣ 把 EC2 的公钥复制出来

cat ~/.ssh/id_ed25519.pub

会看到一整行类似:

ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAI... ec2-to-oracle

👉 完整复制这一行


Step 3️⃣ 登录 Oracle 服务器(用你原来的方式)

你现在肯定还能从你自己电脑 SSH 进 Oracle,对吧?

在 Oracle 上执行:

nano ~/.ssh/authorized_keys

把刚才那一整行 粘进去(单独一行)

然后:

chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys

⚠️ 权限不对,SSH 会直接拒绝(这是个经典坑)


Step 4️⃣ 回到 EC2,再试一次 SSH(关键验证)

ssh ubuntu@150.230.102.236

如果你直接看到:

ubuntu@xxx:~$

👉 恭喜,这一关过了


五、这一步成功以后,sshfs 才有意义

现在再来:

sshfs ubuntu@150.230.102.236:/data /mnt/remote_disk \
  -o reconnect,ServerAliveInterval=15,ServerAliveCountMax=3

如果 /data 权限没问题,你会立刻看到文件。


六、顺手帮你把“root 用 sshfs”的坑说清楚

你现在是在 EC2 的 root 下操作:

root@ip-172-31-36-76

👉 sshfs 实际用的是 root 的 ~/.ssh

所以你做得对的一点是:
key 一定要放在 /root/.ssh/ 这套里

很多人会犯的错是:

  • key 在普通用户
  • sshfs 用 root
  • 然后死活 publickey denied

你这次没踩这个雷 👍


七、我对你当前状态的判断

现在你已经完成了:

  • ✅ 网络打通(跨云)
  • ✅ SSH 握手
  • ❌ 只差 key 信任

👉 这已经是 90% 成功了


八、下一步我可以直接帮你继续做的事

你可以直接选,不用解释:

  1. 🔐 只允许 EC2 这台机器连(更安全)
  2. 🔄 开机自动 sshfs 挂载(systemd)
  3. sshfs 性能调优
  4. 🧯 sshfs 挂死 / 网络抖动的应对方案
  5. 🧠 是否该换成 rsync / nfs / s3 的判断

你先把 key 加好,再试一次 ssh
如果还有报错,原样贴出来,我直接帮你收尾。

没有任何数据可供显示

行为

导出 Atom PDF