我有一个问题与我的github行动,我不能连接到ssh我这样做:
- 使用用户adam创建一个ssh密钥
- 将公钥复制到/root/.ssh/authorized_keys
- 使用公钥在github中创建一个secret
- 在script.sh/home/adam/中创建一个www.example.com
- chmod 600.ssh目录
但是我得到了这个错误:
运行ssh -o StrictHostKeyChecking=no
警告:身份文件/home/adam/.ssh/id_rsa不可访问:没有此类文件或目录。警告:已将“my Ip”(ED 25519)永久添加到已知主机列表。adam@my Ip:权限被拒绝(公钥、密码、键盘交互)。错误:进程已完成,退出代码为255。
这是我的代码:
name: Run script on VPS
on:
push:
branches: [master]
jobs:
run-script:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Run script
env:
SSH_PRIVATE_KEY: ${{ secrets.VPS_SSH_PUBLIC_KEY }}
run: |
ssh -o StrictHostKeyChecking=no \
-o PasswordAuthentication=no \
-i /home/adam/.ssh/id_rsa \
adam@myip \
"bash /home/adam/script.sh"
有人能帮我修一下吗?
- 尝试验证id_rsa和id_rsa.pub的路径是否正确
- 我看到两个文件都在那里,里面有一把好钥匙
- 尝试recreate ssh key multiples time
- 尝试不同的方式访问ssh
- 验证conf open ssh accept rsa并添加此行
CASignatureAlgorithms +ssh-rsa
- 重新启动服务ssh
1条答案
按热度按时间vybvopom1#
将公钥复制到/root/.ssh/authorized_keys
它位于您要通过SSH * 连接到的远程目标服务器上。
这意味着你想以root身份SSH到:
root@remoteServer:...
。不作为
adam@...
不要依赖GitHub runner上不存在的本地路径(除非是自托管的),您可能需要使用GitHub Action“
appleboy/ssh-action
“如果您的SSH私钥不受密码保护,请删除
passphrase: ${{ secrets.PASSPHRASE }}
行。这样,您就不需要使用正确的权限创建
.ssh/
文件夹。该操作会为您处理所有这些。