我可以使用-i选项通过SSH连接到服务器以指定私钥:
ssh -i ~/.ssh/id_dsa user@hostname
Run Code Online (Sandbox Code Playgroud)
我正在创建一个id_dsa从数据库中获取文本的脚本,但我不确定如何将该字符串提供给SSH.我需要这样的东西:
ssh --option $STRING user@hostname
Run Code Online (Sandbox Code Playgroud)
其中$STRING包含的值id_dsa.我需要知道--option是否有一个.
我们的其中一个应用程序github-backup要求使用RSA私钥作为环境变量.
只需尝试将密钥导出到终端中,例如:
text
export PRIVATE_KEY=-----BEGIN RSA PRIVATE KEY-----
MIIEpAIBAAKCAQEA04up8hoqzS1+
...
l48DlnUtMdMrWvBlRFPzU+hU9wDhb3F0CATQdvYo2mhzyUs8B1ZSQz2Vy==
-----END RSA PRIVATE KEY-----
不起作用......因为换行符.
我做了一些谷歌搜索,但没有找到一个可行的解决方案...
例如:如何为AWS弹性豆设置多线RSA私钥环境变量

错误:
-----END RSA PRIVATE KEY-----': not a valid identifier
按照以下说明操作:http: //blog.vawter.com/2016/02/10/Create-an-Environment-Variable-from-a-Private-Key
创建一个keytoenvar.sh使用以下行调用的文件:
#!/usr/bin/env bash
file=$2
name=$1
export $name="$(awk 'BEGIN{}{out=out$0"\n"}END{print out}' $file| sed 's/\n$//')"
Run Code Online (Sandbox Code Playgroud)
然后运行以下命令:
source keytoenvar.sh PRIVATE_KEY ./gitbu.2018-03-23.private-key.pem
Run Code Online (Sandbox Code Playgroud)
这有效但似乎是一种" 啰嗦 "的方法......
有谁知道更简单的方法吗?
(我希望有一个" 初学者友好 "的解决方案,没有太多的"步骤"......)
我在组织(比如 ORG)中有 2 个私有 GitHub 存储库(比如 A 和 B)。存储库 A 在requirements.txt以下位置具有存储库 B :
-e git+git@github.com:ORG/B.git#egg=B
Run Code Online (Sandbox Code Playgroud)
我对 A (in .github/workflows/test.yml)有以下工作流程:
name: Python package
on: push
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- name: Install requirements
run: |
pip install -r requirements.txt
- name: Test with pytest
run: |
pytest ./tests
Run Code Online (Sandbox Code Playgroud)
由于 B 是私有的,因此安装失败。
如果他们在同一组织中,是否可以在此工作流中测试 A 时安装 B?如何?