Alv*_*pez 14 ssh github-actions
标题几乎是不言自明的,ssh 连接失败。我的物理服务器就在我旁边,它位于一个 VPN 下,该 VPN 在 ssh 之前连接。
看起来服务器拒绝用户/密码对,但它在我的计算机上的终端上运行得很好。
sshd_config 文件具有 PasswordAuthentication yes ,我使用service ssh restart重新启动了 ssh 服务。
这是工作流程:
name: Deployment
on:
push:
branches: [ master ]
jobs:
deploy:
runs-on: ubuntu-20.04
steps:
- name: Set up WireGuard
uses: egor-tensin/setup-wireguard@v1
with:
endpoint: ${{ secrets.WIREGUARD_ENDPOINT }}
endpoint_public_key: ${{ secrets.WIREGUARD_ENDPOINT_PUBLIC_KEY }}
ips: ${{ secrets.SERVER_IP }}
allowed_ips: ${{ secrets.WIREGUARD_ALLOWED_IPS }}
private_key: ${{ secrets.WIREGUARD_PRIVATE_KEY }}
- name: Deploy to server
# don't run locally
if: ${{ !env.ACT }}
uses: appleboy/ssh-action@master
with:
host: ${{ secrets.SERVER_IP }}
username: ${{ secrets.SERVER_USERNAME }}
key: ${{ secrets.SERVER_PRIVATE_KEY }}
port: ${{ secrets.DEPLOY_PORT }}
script: |
cd ${{ secrets.PROJECT_PATH }}
git pull ${{secrets.REPO_URL}}
docker-compose down
docker-compose up --build -d
Run Code Online (Sandbox Code Playgroud)
Ruk*_*ama 10
我遇到了同样的问题,并通过使用本地 pc ssh 私钥而不是远程服务器 ssh 私钥来修复它。
如果您使用 Github Action,您有本地 PC 进行开发,您通过 ssh 访问 Github,并且您有一个要在其中部署代码的远程服务器,以下步骤可能适用于您。
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"~/.ssh/id_rsa到剪贴板SSH_PRIVATE_KEY并粘贴您的私钥~/.ssh/id_rsa.pub到剪贴板nano ~/.ssh/authorized_keys并将您的公钥粘贴到下一行。如果该文件不存在,您可以创建它。appleboy/ssh-action。希望这对某人有帮助,如果您需要更多详细信息,请随时阅读此处的appleboy/ssh-action官方文档。
小智 0
我不确定电线保护部分,但 appleboy/ssh-action@master 需要密钥和密码
- name: Deploy PROD environment images
uses: appleboy/ssh-action@master
if: env.CURRENT_BRANCH == 'master'
with:
host: ${{ secrets.SSH_HOST_PROD }}
port: ${{ secrets.SSH_PORT }}
username: ${{ secrets.SSH_USERNAME }}
key: ${{ secrets.SSH_PRIVATE_KEY }}
passphrase: ${{ secrets.SSH_PASSPHRASE }}
script: |
cd ${{ secrets.PROJECT_PATH }}
git pull ${{secrets.REPO_URL}}
docker-compose down
docker-compose up --build -d
Run Code Online (Sandbox Code Playgroud)
您可以将这些命令隐藏到脚本中:
#!/bin/bash -x
git pull {LINK_TO_YOUR_REPO} && docker-compose down && docker-compose up --build -d
Run Code Online (Sandbox Code Playgroud)
这样你就会:
- name: Deploy PROD environment images
uses: appleboy/ssh-action@master
if: env.CURRENT_BRANCH == 'master'
with:
host: ${{ secrets.SSH_HOST_PROD }}
port: ${{ secrets.SSH_PORT }}
username: ${{ secrets.SSH_USERNAME }}
key: ${{ secrets.SSH_PRIVATE_KEY }}
passphrase: ${{ secrets.SSH_PASSPHRASE }}
script: |
cd ${{ secrets.PROJECT_PATH }}
./your_script
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
29573 次 |
| 最近记录: |