- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我们的 linux 机器上有时会有很大的 /root/.ssh/authorized_keys
文件,这是因为文件中有很多重复行,如下所示
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC6yaJuzX2QldXj9jI/IYbJQuYDTUf232IbkefUDG4sZxkkScbiqC4skJs9bC58iovYxMVLB7YijIHDri7ONfKzixooSfpf8x18JdmSTkEl7WVTPm3TI/fPVP7DDOoBbqpTeZzS6cFVRMceve3ecFp/Z
D02RfLy6FHu3Y9o55g4Hlm+IgRq+QflsSoY3khZhaxofyzYIchg9NI1RzEZJQEBIMlQZMd+bRiBoAtzqI2BtKd5YmnBmxGHhnZLswSeo7hz+2cAPe+Ng37V91cSuygQJyKf20f1DmhSKHvHEDU3EXDPbjO8H0LNz6OEhsjwUj+G5dcJA04wY0Y1+qCfRz
kR root@server1.com
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC6yaJuzX2QldXj9jI/IYbJQuYDTUf232IbkefUDG4sZxkkScbiqC4skJs9bC58iovYxMVLB7YijIHDri7ONfKzixooSfpf8x18JdmSTkEl7WVTPm3TI/fPVP7DDOoBbqpTeZzS6cFVRMceve3ecFp/Z
D02RfLy6FHu3Y9o55g4Hlm+IgRq+QflsSoY3khZhaxofyzYIchg9NI1RzEZJQEBIMlQZMd+bRiBoAtzqI2BtKd5YmnBmxGHhnZLswSeo7hz+2cAPe+Ng37V91cSuygQJyKf20f1DmhSKHvHEDU3EXDPbjO8H0LNz6OEhsjwUj+G5dcJA04wY0Y1+qCfRz
kR root@server1.com
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC6yaJuzX2QldXj9jI/IYbJQuYDTUf232IbkefUDG4sZxkkScbiqC4skJs9bC58iovYxMVLB7YijIHDri7ONfKzixooSfpf8x18JdmSTkEl7WVTPm3TI/fPVP7DDOoBbqpTeZzS6cFVRMceve3ecFp/Z
D02RfLy6FHu3Y9o55g4Hlm+IgRq+QflsSoY3khZhaxofyzYIchg9NI1RzEZJQEBIMlQZMd+bRiBoAtzqI2BtKd5YmnBmxGHhnZLswSeo7hz+2cAPe+Ng37V91cSuygQJyKf20f1DmhSKHvHEDU3EXDPbjO8H0LNz6OEhsjwUj+G5dcJA04wY0Y1+qCfRz
kR root@server1.com
删除此重复行以便只显示唯一行的最佳方法是什么?
我们需要在远程机器上通过 ssh 删除重复的行
最佳答案
可以使用ssh
客户端在远程服务器上运行命令
ssh hostname '
cd /root/.ssh;
cp -a authorized_keys authorized_keys.orig;
sort -u authorized_keys -o authorized_keys
'
这是为了便于阅读而编写的多行代码。整个事情也可以在一行上(在这种情况下,无需将其包含在 ''
中,在这种情况下)。
如果绝对不需要备份 (.orig
),只需删除 cp ...
行即可。
这样做显然会改变行的顺序。如果这是一个问题,您可以运行可以保留顺序的脚本或单行程序。
如果还有更多工作要做,一种在远程服务器上运行单线程的方法是
ssh hostname << 'CMD'
cd /root/.ssh/
perl -i.orig -wne'$uniq{$_} = 1; }{ print for keys %uniq' authorized_keys
CMD
}{
语法启动一个 END
block ,该 block 在处理完所有行后运行。如果确实不需要备份,请删除 .orig
,因此只保留 -i
开关(就地 更改文件)。
上面的代码仍然只是删除了重复项,但可以用其他可能需要的 Perl 代码替换或修改 ''
下的代码。例如,要保留唯一行之间的顺序,可以使用此 Perl 命令行程序(“one-liner”)代替上面的程序
perl -MList::Util=uniq -i.orig -wne'
push @lines, $_; END { print for uniq @lines }' authorized_keys
这里我们使用核心模块List::Util中的uniq
,它从其输入列表中返回唯一元素。它保留第一个(可能)重复的元素并保持顺序。我假设 authorized_keys
文件不能太大而无法全部读入内存。
参见 "Command switches" in perlrun有关单线的更多信息。
请注意,上面使用的“heredoc”语法中的关键字在引号下 ('CMD'
),以抑制 shell 的变量扩展。
关于bash - 如何删除远程机器上 authorized_keys 文件中的重复行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64669823/
我正在使用 Linux VPS 作为 Web 服务器(haproxy+nginx+java+mysql+memcached+redis+solr),出于安全原因,我禁用了密码登录并改为使用 key 。
我想在 EC2 云中的 AWS 下运行的 Linux 机器上设置一个 ssh key 。 为此,我首先安装了 cygwin,然后按照以下步骤操作: ssh-keygen -t dsa -f ~/.ss
我们的 linux 机器上有时会有很大的 /root/.ssh/authorized_keys 文件,这是因为文件中有很多重复行,如下所示 ssh-rsa AAAAB3NzaC1yc2EAAAADAQ
我们的 linux 机器上有时会有很大的 /root/.ssh/authorized_keys 文件,这是因为文件中有很多重复行,如下所示 ssh-rsa AAAAB3NzaC1yc2EAAAADAQ
我全新安装了 CentOS 6.5,我将其用作小型团队的开发服务器。我们有一个中央裸 Git 存储库,我们将通过 ssh 连接到它。 我设置了一个名为 git 的用户和一个名为 test 的用户。 t
我在我的服务器上编辑了 authorized_keys 文件,当我保存文件时,我的互联网连接中断了,而且它没有很好地保存文件。现在我无法使用我拥有的 key (旧 key 和新 key )访问我的机器
我有一个使用 Python 和 Paramiko 编写的软件,它可以将公共(public) ssh key 分发到目标 linux 机器。然后它尝试使用私钥进行连接。在一台机器上(RHEL 版本 5)
我会尽我所能解释我的场景: 我在 debian 压缩服务器中使用 gitolite,有 3 个用户可以访问和使用存储库: alex@workbox alex@homebox katy@workbox
我最近使用 SSH key 和其他一切在 Cygwin 环境中安装了 Gitolite。 我成功安装了 Gitolite 并且可以访问 gitolite-admin 存储库,配置并放置新 key 。当
我知道这对你们中的一些人来说可能微不足道。 我不是 Linux 专家,我正在尝试使用 git。为此,我想尝试将我的公共(public) SSH key 添加到我的用户 git 的 ~/.ssh/aut
我将公共(public) SSH key 添加到了 authorized_keys 文件中。 ssh localhost 应该让我登录而无需询问密码。 我这样做了,并尝试输入 ssh localhos
我从 ssh-ing服务器1 至服务器2 .我生成了 id_rsa & id_rsa.pub 文件。如果我 ssh 到 mike@server2 它工作正常,但 ssh 到 john@server2
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 这个问题似乎不是关于 a specific programming problem, a softwar
我已完成使用公钥/私钥对设置 ssh 登录。我的 id_rsa(私钥)在我的 ~/.ssh 目录中,并且在同一个目录中还有 id_rsa.pub(公钥)目录。我不是安全专家,但有些事情告诉我将两个 k
您好,我正在我的机器上安装 hadoop,我创建了一个新组和组下的一个用户 [hduser@localhost ~]$ ssh-keygen -t rsa -P "" Generating publi
当前设置,2 台主服务器,12 台工作服务器:worker 通过 ssh-copy-id 连接到 master,master 和 worker 在 master 上的 redis-queues 中写入
关闭。这个问题不满足Stack Overflow guidelines .它目前不接受答案。 想改善这个问题吗?更新问题,使其成为 on-topic对于堆栈溢出。 5年前关闭。 Improve thi
关闭。这个问题是off-topic .它目前不接受答案。 想改进这个问题? Update the question所以它是on-topic对于堆栈溢出。 9年前关闭。 Improve this que
Salt有一个状态模块来管理.ssh/authorized_keys https://docs.saltstack.com/en/develop/ref/states/all/salt.states.
我正在使用 EC2 上的公共(public) RedHat AMI,并尝试创建一个默认允许 ssh root 的镜像。我更改了 /etc/ssh/sshd_config 文件,将 PermitRoot
我是一名优秀的程序员,十分优秀!