小编Fad*_*adi的帖子

rsync 与不同的用户

我正在 AWS 上使用两个 ubuntu 实例(我使用 pem 密钥访问它们)。

我为这两个实例设置了 rsync,如果我使用默认用户 ubuntu@ipaddress,它就可以工作。但是,如果我尝试与其他用户一起使用 rsync(sudo su - jenkins例如,我正在输入,甚至sudo在 rsync 命令之前输入),则会出现以下错误。

Permission denied (publickey).
rsync: connection unexpectedly closed (0 bytes received so far) [Receiver]
rsync error: unexplained error (code 255) at io.c(226) [Receiver=3.1.0]
Run Code Online (Sandbox Code Playgroud)

我采取的步骤:

我尝试在登录时创建一个 ssh 密钥(使用 ssh-keygen),jenkins并将其添加到authorized_keys文件中/home/ubuntu/.ssh/authorized_keys(我从中运行 rsync)甚至$JENKINS_HOME/.ssh/authorized_keys(我也尝试从那里运行 rsync)。

我什至尝试使用 pem 键来做同样的事情,但也没有用。

这就是我想要运行的

rsync -avuh --delete -e ssh jenkins@ipaddress:/var/lib/jenkins/* /var/lib/jenkins

这是密钥文件

rsync -avuh --delete -e 'ssh -i path/to/key.pem' jenkins@10.96.2.210:/var/lib/jenkins/* /var/lib/jenkins

PS:我不想与 ubuntu …

ssh ubuntu rsync aws

8
推荐指数
3
解决办法
2万
查看次数

sed/awk 删除两个模式匹配的换行符

我有一个 .pem 文件,经过一些格式化后,它显示如下:

-----BEGIN
RSA
PRIVATE
KEY-----
MIIEogIBAAKCAQEAoK3D4mMIRnzPaYqHidgpBnDDzLlcYYd0GoB0pQGyGSHDW7KO3K+VeJP90GhE
ZTEWJLp2N5DR/KT+5Vg7cgdx/GCCrnlbW0McP/IvkYAuWCgbzoXH9eE+kDRtAmurBYCk7OTOwQ26
..........................LONG LONG LONG KEY................................
QRRLFsXua9spUh0yPd163IZStKZMhZBPJfMaqbi1WF+j21DdYyS0qpaZQRjFzRLvGuXeGLZG/COD
ip10XRJMMXY0m14bqOTcqKTya/5PTJIjDWC22+soIjLy0ZjWKo9n05Oal2t4q35kbos=
-----END
RSA
PRIVATE
KEY-----
Run Code Online (Sandbox Code Playgroud)

我显然需要像:

-----BEGIN RSA PRIVATE KEY-----
MIIEogIBAAKCAQEAoK3D4mMIRnzPaYqHidgpBnDDzLlcYYd0GoB0pQGyGSHDW7KO3K+VeJP90GhE
ZTEWJLp2N5DR/KT+5Vg7cgdx/GCCrnlbW0McP/IvkYAuWCgbzoXH9eE+kDRtAmurBYCk7OTOwQ26
..........................LONG LONG LONG KEY................................
QRRLFsXua9spUh0yPd163IZStKZMhZBPJfMaqbi1WF+j21DdYyS0qpaZQRjFzRLvGuXeGLZG/COD
ip10XRJMMXY0m14bqOTcqKTya/5PTJIjDWC22+soIjLy0ZjWKo9n05Oal2t4q35kbos=
-----END RSA PRIVATE KEY-----
Run Code Online (Sandbox Code Playgroud)

我如何使用awk或来做到这一点sed

我在网上找到的所有教程都展示了如何针对整个文本或一种aaaabbbaaacccc我觉得令人困惑的模式来做这件事。

我试过这样的事情:

tr ' ' '\n' < test.pem  | awk '/BEGIN\nRSA\nPRIVATE\n$/ { printf("%s\t", $0); next } 1' > test-format.pem
Run Code Online (Sandbox Code Playgroud)

但那失败了。

我不知道这是否重要,但我正在docker 容器中的 shell#!/bin/sh脚本中执行此操作python:3.5-alpine

任何帮助是极大的赞赏。

sed awk text-processing

5
推荐指数
1
解决办法
2779
查看次数

标签 统计

awk ×1

aws ×1

rsync ×1

sed ×1

ssh ×1

text-processing ×1

ubuntu ×1