Jan*_*uka 5 linux ssh continuous-integration gitlab
我想设置一个gitlab变量,以便它可以被gitlab-ci.yaml
我想设置的变量是 assh private key并且它正在被复制到服务器。
问题: - 当我如下设置私钥时,它会更改该私钥的结构,从而导致密钥不正确。
之前的私钥:(出于安全考虑我只放了一半)
-----BEGIN RSA PRIVATE KEY-----
MIIEowIBAAKCAQEAmJwjZmGw7sitfoCb88xpn6bfgoSKVat5j8rvyGgOkX/Eavag
32izNxWbZvQ249nE1rOwpWAmxtN+JyFEo6IlVhfbrwfRGen+RFboARAe5s5/6ETI
c70s68xFmZxHJYJlt+lJoTOz+YnoK4QaIFbFoh/keRTSnIr7gMlDjv7VFH4VBhJ4
Jpp9TtmK5hsmpnESWYameePdFuo9vZFssrqLZXBGISGEOafGuZhT6eh/iG3sNeeK
.
.
.
-----END RSA PRIVATE KEY-----
Run Code Online (Sandbox Code Playgroud)
从管道保存到服务器后的私钥:
-----BEGIN RSA PRIVATE KEY----- MIIEowIBAAKCAQEAz26/7zOELE87ColkJBhNWBQcvL7DjhdRCeWmHeeSPZ2PSjZS KP1+a/J0eHuBHvVIOrZB8oyPnfXfpOlga5y2TIvxLTgNNFzbzGScBIYHNQ9sBzAB w3IEiHzkJCYYY3rWuUMlJtLIyWnaIS8CBYQvO/DlcB70V5z9kWuu5VJDvV8esOnH +Pe2pk/08R2Q610UwOm4blJi0UAVd89Cd3/kPuC5xln+wumdqtQ8ZiAKRvZiXUgK
.
.
.
b4ewuT1RZXkO6WyP/CSdFjEvYi9pxErXYMMY5hFFJCnzQcEQPXqW -----END RSA PRIVATE KEY-----
Run Code Online (Sandbox Code Playgroud)
我怎样才能避免这种迷失方向呢?
在将文本放入变量之前使用 Base64 编码,然后也使用 Base64 将变量解码回密钥。
IE,
base64 -w0 your_key_file > key.base64
然后将内容放入key.base64您的环境变量中。
然后在你的管道中做
echo -n $PRIVATEKEY | base64 -d > key
这会将您的原始密钥放入密钥文件中。
旁注:将 ssh 私钥添加到管道时要非常小心。这可能会带来重大的安全风险。
| 归档时间: |
|
| 查看次数: |
6256 次 |
| 最近记录: |