关于ssh命令的几个使用小技巧(r11笔记第27天)

时间:2022-05-05
本文章向大家介绍关于ssh命令的几个使用小技巧(r11笔记第27天),主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

ssh命令其实用了些日子了,但是感觉长进不大,主要原因是对它不够了解。

我想绝大多数的系统环境我还是使用ssh的方式会多一些,就这样看起来小米加步枪的工作方式,想想远离图形界面工具管理数据库也有好几年了。

今天早上突然想起来有一个同事的工作环境需要我开更高一些的权限,没过多久,我就得到了一个IP列表,这些服务器都是需要开通较高的权限。因为我们使用的都是中控机器去免密码登录,所以我需要给他开通这些服务器的访问权限,看起来工作量还不小。

常规的思路是:

  1. 拷贝.ssh/id_rsa.pub到目标服务器,比如目标服务器是10.12.1.1,则命令为: scp .ssh/id_rsa.pub root@10.12.1.1:~
  2. 然后ssh登录到目标端,执行 cat ~/id_rsa.pub >> ~/.ssh/authorized_keys
  3. 然后简单查看authorized_keys文件,验证一下是否连接正常

如果是多台服务器,这个操作就显得很繁琐。对于重复性的繁琐操作我很反感,没什么技术含量还耗费时间。所以我就停下来想,还有没有其他更好的方式,使用一个命令就能够搞定最好。

果然还是磨刀不误砍柴工,经过一番摸索和网络的帮助,找到了以下的几种方式。

第一种方式是使用ssh-copy-id来完成,这个是linux字典的命令行工具。具体可以参考sskLinux命令ssh-copy-id (r10笔记第21天)

第二种方式是免脚本传输,直接在远程调用,使用管道的方式

比如

cat ~/.ssh/id_rsa.pub |ssh 10.12.1.1 "cat - >> ~/.ssh/authorized_keys"

第三种方式也是免脚本传输,和上面的命令略有一些差别.

ssh 10.12.1.1 "cat - >> ~/.ssh/authorized_keys" < ~/.ssh/id_rsa.pub

上面三种方式都是经过检验还不错的方法,能简化繁琐重复的工作,本身就是生活质量的提高啊。大家有什么好的建议也希望一并提出来。