维护中,常常遇到需要ssh,scp,或者rsync,每次都需要输入密码,非常麻烦。特别是在自动化shell脚本中,涉及到scp或者rsync的操作时,就需要无密码执行命令。以下来看一下,如何无密码ssh,scp。

现在有两台主机,主机A和主机B,在同一个网络中,且两台主机都有同一个用户root(也可以是同一个其他用户),下面为同一个用户root添加无密码ssh,scp。

1,在主机A生成密钥和公钥

[root@ecs-7bc6-0001 ssh]# ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): /home/work/docker/centos/ssh/id_rsa
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/work/docker/centos/ssh/id_rsa.
Your public key has been saved in /home/work/docker/centos/ssh/id_rsa.pub.
The key fingerprint is:
SHA256:S3zH48HfguyFctJutqXtP/+lIUUWLTmnCU0myllzCLE root@ecs-7bc6-0001.novalocal
The key's randomart image is:
+---[RSA 2048]----+
|          oo++=o |
|         . =o==.o|
|          E  .o* |
|       .   o oo  |
|        S . * .  |
|       . o = B . |
|        . o O * o|
|           *o* =.|
|           o=o+.B|
+----[SHA256]----

生成过程中需要输入存储目录,如果不输入默认在执行命令用户根目录中的.ssh目录下,在生成目录下查看生成的密钥id_rsa和公钥id_rsa.pub

[root@ecs-7bc6-0001 ssh]# ls
id_rsa  id_rsa.pub

内容分别是:

[root@ecs-7bc6-0001 ssh]# cat id_rsa
-----BEGIN RSA PRIVATE KEY-----
MIIEowIBAAKCAQEAtMy5N9159+9cnaz8rbR1kx0xtKdAU702b/Lfz6pgUtzKF1le
nD/2gQykUxpIIvcgGYZzVBPGxXzDDJCu1vmMtKbYvEz8iLY+x4BaQ1K+4Mpat1cG
IIAMjmYx8IFvtfR+IqLrH7uWHCq283TlVDe2NvTrppyHzoNOsBlbMl7RTrJpdnMl
i7H0zuYK+qdj6zFqNq056K1x0WwOWVTz5w4Hyp28g9tFq6Ce2H+9GJNRtkuGRGXF
gI7XrkAirQ1QWLItymht1h8WdIw0K8qoZT09SrLWJQPLa5Miu7CVhwRsDTDgXbIY
j7nfNZn2F7lPkb/AWK9woXQb5qtvf4Dg9eChBwIDAQABAoIBAQCqGIUU2ug561bN
/QaIAeQvsOKnnEZ3weaqMeyAekE/E/uJNgo9pCusw5EBohNF2gu4F/b+ndB+0d7L
Pn9PPt4yw1na5e8cS6EKnmXNOtbbs2TfYh8ginfFrL3FEHFh1RCqU24zn48dFs6i
g1KSBgwG7iuZx2A5WO253VEgNXZjuv8FjoVCWR+VmU2cfouB5RM6DxHkGqyZ0nvb
bSuYNb8KLyylVibY0IXBBhiIXsYXDNJji1A1XeqNQUHewDINTYJuUAr68nr0yr8W
YbOQJte07dgdGi44A9e0QnzlE5txuV5RrEJlTbEMVO5XAFhgk+mG3YrSKGiKucvr
dVtTiGERAoGBAOKNs/jf7iDEgUBW2j0tuTT+3HM8KqfJjGFjw5uc0BpCeIy7VpAK
ikWOjZrPyHsjWKwCnXycxAOms9v2hJe3j1BilHdQA6XpaBbvwQHLgj9zda0Wn6hV
3aIZegeENKHnEP8tEuEZe+rAWgIHR+JZkv7YcI58t2kI0ZO2et2SbD85AoGBAMxM
neWfWEAMO8gHcdLp3D/3jcNRfhUAW7bAAs56tPGnsPf6bjJSg2YVQv76Wffeobdq
fnWBILRWJ4oyCxyLmPDL0ZUp4YlEfvkUDxcTH/93FJUqkL+9MTRJRKM/AmzggSkv
e10jk0Xf4KIRDgJwRXW4M669IqkhLbBd4DKcE6I/AoGAKBNa97ZdAEzidEgo2NOi
xH4k7vmArieX/o5QRtGpekux2Ws2N8q1hPJfmDgTRb0N7XeU9jsg7WhqvolQESp2
XojhrG1qB8pPEGee47tlMeYxtcmfun5d81PAY13+lXkzZ4BIq6r/YZpfEabKD386
4nvVBU+IfjsCH7gS6ekB3vkCgYA9Suc8UtgZLxJoasNdccggcNbZOIPJLThW1biB
1hKfRZ40Z6/T7Sl64PoeoWGImgSOkKar/jefoxFtxqHKyJ7z71JLnCsMEb6+X6Q/
Wf+Jl2JXdlPDErHGbAzppSfHHnvhrVsnkFrI5efw94jqdmCAdukajafucgPRG/j9
dhH15QKBgAiN8f4AN1iUUisB9sCljR3Lebblc1300stkQH3vkIrxIfQ+vgRa9HaN
Y90BKZ5REqF51ZWUxU7/tR8ZQEigamo4wQe/6Rji/dfBPlVY9JU3f8vLbJ+R0GQR
fl1qk9hMvhw1syD1HX0bAbOA1nXjYHCswP5KYReMukVXRdR9B+wl
-----END RSA PRIVATE KEY-----
[root@ecs-7bc6-0001 ssh]# cat id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC0zLk33Xn371ydrPyttHWTHTG0p0BTvTZv8t/PqmBS3MoXWV6cP/aBDKRTGkgi9yAZhnNUE8bFfMMMkK7W+Yy0pti8TPyItj7HgFpDUr7gylq3VwYggAyOZjHwgW+19H4iousfu5YcKrbzdOVUN7Y29OumnIfOg06wGVsyXtFOsml2cyWLsfTO5gr6p2PrMWo2rTnorXHRbA5ZVPPnDgfKnbyD20WroJ7Yf70Yk1G2S4ZEZcWAjteuQCKtDVBYsi3KaG3WHxZ0jDQryqhlPT1KstYlA8trkyK7sJWHBGwNMOBdshiPud81mfYXuU+Rv8BYr3ChdBvmq29/gOD14KEH root@ecs-7bc6-0001.novalocal

2,保存密钥,添加公钥

把生成的密钥id_rsa复制到主机A的root用户根目录的.ssh/目录下。

把生成的公钥id_rsa.pub中的内容添加到主机B,相同用户根目录下.ssh目录下的authorized_keys文件中。

通过以上两步,主机B就可以无密码的访问主机A。

3,同样如果主机A需要无密码访问主机B,根据1,2两步。

在主机B上生成密钥和公钥,并把B的公钥添加到A的authorized_keys中,且把B的私钥存放在B的root用户根目录的.ssh目录下。

4,如果有多台机器,只需要保证本机的公钥添加到目标机器./ssh/authorized_keys中,目标机器就可以无密码访问本机。

5,多台机器时,有一个简单的方案。

生成一个密钥对,多台机器共用一个密钥和公钥,authorized_keys中添加多行公钥,每个公钥的最后一列修改IP或者主机名,标记这是登录某个主机时需要携带的公钥即可。如下:

ssh-rsa {xxxxxxkeys} root@master2
ssh-rsa {xxxxxsKeys} root@slave3
ssh-rsa {xxxxxsKeys} root@slave4

(完)(^_^)

linux无密码ssh,scp,rsync相关推荐

  1. linux下ssh/scp无密钥登陆方法

    一.双方机器都是root用户登陆方法 A为本地主机(即用于控制其他主机的机器) ; B为远程主机(即被控制的机器Server), 假如ip为192.168.60.110; A和B的系统都是Linux ...

  2. centos linux 系统日常管理4 scp,rsync,md5sum,sha1sum,strace ,find Rsync 常见错误及解决方法 第十七节课...

    centos linux 系统日常管理4  scp,rsync,md5sum,sha1sum,strace ,find Rsync 常见错误及解决方法  第十七节课 rsync可以增量同步,scp不行 ...

  3. Linux之SSH性能调优,防止连接等待时间过长,连接速度飞起

    SSH服务: 干货:我的虚拟机情况,改完之后 连接速度飞起 修改相应配置: vim /etc/ssh/sshd_conf UseDNS no GSSAPIAuthentication no 保存退出 ...

  4. Linux网络SSH协议和TCP Wrappers

    目录 SSH服务 1.1什么是SSH服务器? 1.2SSH优点 1.3常见的ssh协议 1.3ssh原理 TCP_Wrappers 工作原理 TCP wrappers 的访间策略 SSH服务 1.1什 ...

  5. linux cp sync,通过SSH使用Rsync传输文件,复制和同步文件及目录

    在本文中,我们将解释如何通过SSH使用rsync复制文件.当涉及在网络上的系统之间传输文件时,Linux和Unix用户可以使用许多工具,最流行的数据传输协议是SSH和FTP,虽然FTP很受欢迎,但总是 ...

  6. linux下不同服务器间数据传输(rcp,scp,rsync,ftp,sftp,lftp,wget,curl)

    因为工作原因,需要经常在不同的服务器见进行文件传输,特别是大文件的传输,因此对linux下不同服务器间数据传输命令和工具进行了研究和总结.主要是rcp,scp,rsync,ftp,sftp,lftp, ...

  7. Linux同步文件夹rsync无密码自动同步

    定义:   Server代表需要将文件夹同步到其它电脑的 主动发送方 Client 代表被动接收进行同步的电脑 1.在需要同步的两台linux电脑分别安装rsync包---安装文件见rsync. 通过 ...

  8. Linux常用命令——远程传输文件(scp/rsync)

    Linux服务器可以使用scp和rsync命令来实现远程传输文件. 1. scp命令 scp语法 scp [option] 源文件 目标IP@目录 scp用法举例: eg1:将/tmp/test.lo ...

  9. Linux ssh/scp/docker学习

    文章目录 Linux ssh/scp/docker使用学习 1. ssh 登录 2. scp传输文件 3. docker 4. git checkout 替换指定分支的单个文件 Linux ssh/s ...

最新文章

  1. Android SurfaceView 的应用
  2. keyloadtool_keytool:术语“keytool”无法识别为cmdlet、函数、脚本文件或可操作程序的名称...
  3. spring 之 init-method InitializingBean
  4. 移动开发平台性能比較
  5. 接受拒绝采样(Acceptance-Rejection Sampling)
  6. python插入排序算法详解-面试常考
  7. Android--sharepreference总结
  8. selenium——鼠标事件
  9. python人工智能小程序_推荐几款“真”人工智能技术小程序
  10. python中func函数_Python 函数(func)学习
  11. 奥多朗WIFI 插座
  12. YYLabel的若干个疑问持续更新
  13. Redis官方中文翻译系列 - Redis文档
  14. Elastic-Job使用
  15. 网络电话除了打电话还能用来做什么?
  16. Java实现-五子棋
  17. 意想不到!这个神奇的bug让我加班到深夜
  18. 实现一个简单的计算器,输入一个包含圆括号、加减乘除、求余等符号组成的算术表达式字符串,输出该算术表达式的值
  19. lol人物模型提取(一)
  20. 【读书笔记】《终身成长》——热爱挑战相信努力

热门文章

  1. efcore 批量_【EF Core】Entity Framework Core 批处理语句
  2. rdd 内生分组_04、常用RDD操作整理
  3. go excel换行符替换_微软Excel与WPS Excel哪个好玩?
  4. spring 扫描所有_自定义Spring事件监听机制
  5. 求一列数据中的波峰_数据分析实践入门(四):数据运算
  6. pacman吃豆人_通过Tensorflow和强化学习实现自动化吃豆人PacMan
  7. 如果你需要品质背景素材,看过来
  8. 配色的协调性的重要性,你知道吗?
  9. 复古海报设计灵感配色,“一见即知”的感觉
  10. 电商页面设计排版没有思路?可临摹PSD分层模板,诠释基础版式大招帮你轻松搞定!