如何在Github Actions中使用SSH身份文件

时间:2019-11-08 18:03:31

标签: ssh continuous-integration devops continuous-deployment github-actions

我正忙于设置Github Action,该Action应该运行SSH命令以连接到私有服务器。我已经定义了私有服务器的连接设置,我拥有一个identityFile。建立连接后,我将运行一个proxycommand,因此对于上下文,这实际上是一个堡垒。

在这一点上,我还不太清楚的是github动作如何/哪种支持这种配置。我在此命令上看到了命令(与其他命令类似):https://github.com/appleboy/ssh-action/blob/master/action.yml,并且没有提到identifyFile属性。有没有其他方法可以执行此操作或使用ssh命令使之成为可能?

请多多指教,谢谢!

1 个答案:

答案 0 :(得分:1)

如果您需要有关如何编写动作的一些说明,则可以阅读本文:How to create Github Actions to run tests with docker services

您只需要创建工作流程文件并使用appleboy的操作,例如对steps关键字:

 - name: executing remote ssh commands using password
   uses: appleboy/ssh-action@master
   with:
     host: ${{ secrets.HOST }}
     username: ${{ secrets.USERNAME }}
     key: ${{ secrets.KEY }}
     key_path: ${{ secrets.KEY_PATH }}
     password: ${{ secrets.PASSWORD }}
     port: ${{ secrets.PORT }}
     script: whoami

在脚本行中,您可以在服务器中执行想要执行的操作,并使用上面设置的参数进行连接。对于多行,可以这样:

  script: |
    pwd
    ls -al

希望这会有所帮助。