- 此问题已在此处有答案**:
Escape a string for a sed replace pattern(17回答)
2天前关闭。
我想删除/注解我的远程服务器中的一个ssh键。current node = node1 remote node = node2在节点1中,我有一个pub文件,需要从远程节点/home/cloud-user/. ssh/authorized_keys中删除pub文件的内容。已尝试使用sed命令,但不起作用。下面的命令在我的设置中尝试。
测试1
pub文件名= www.example.com(pub的内容包括空间)cluster.pub (content of pub includes space )
key=$(cat /opt/key/cluster.pub)
ssh -i key.pem node2 "sed -i 's/$key/#$key/g' /home/cloud-user/.ssh/authorized_keys"
错误消息
sed: -e expression #1, char 0: no previous regular expression
测试2
将www.example.com复制到node2:/tmp/cluster.pub into node2:/tmp/
ssh -i key.pem node2 "key= cat '/tmp/cluster_login.pub' ;sed -e 's/${key}/#${key}/' /home/cloud-user/.ssh/authorized_keys"
错误消息
sed: -e expression #1, char 230: unknown option to `s'
看起来在远程shell中运行时,sed命令以不同的方法执行。
1条答案
按热度按时间kognpnkq1#
尝试了下面的选项,这是为我工作。