在工作中经常有遇到需要脚本自动化同步文件的地方,比如数据库异地备份。假设有两台机子A(192.168.16.218)和B(192.168.16.117),需要能够让A免密码连接B。

先来看看正常的ssh连接登陆时怎么样子的。

当第一次连接时会提示认证不能通过,是否继续,只需要按yes继续即可。

输入yes之后会继续警告将192.168.16.116永久添加到known hosts,忽略继续。

输入密码登陆成功

假设要将A主机(192.168.16.218)root用户home目录下的database_backup_20161208_235618.sql数据库备份文件同步到B主机(192.168.16.117),手动的方式为

root@kali:~# scp db_backup.sql root@192.168.16.117:~/backup/

输入密码后同步成功。

但是在生产环境中这样手动肯定是不行的,这个时候就需要我们好好运用科技的力量了,毕竟科技是第一生产力嘛~

STEP 1

生成公钥私钥对

root@kali:~# ssh-keygen -t rsa

这里记得加上-t rsa参数,意思是生成rsa类型的公钥秘钥对,亲测不加上的话不行~

按默认的连续三次确认即可

可以看到~/.ssh/目录下多了两个文件id_rsaid_rsa.pub,分别是私钥和公钥,这里我们只需要公钥即可。

STEP2

先把公钥id_rsa.pub传到B主机(192.168.16.117)上

root@kali:~# scp id_rsa.pub root@192.168.16.117:~/.ssh/id_rsa.pub_temp  这里记得重命名一下,以免覆盖B主机原有的公钥

STEP3

将id_rsa公钥的内容添加到.ssh目录下的authorized_keys文件,记得以追加的方式添加,以免将别的公钥覆盖,若文件不存在则新建。

登陆到192.168.16.117上进行操作:

root@kali:~# cat id_rsa.pub_temp >> authorized_keys

STEP4

测试登陆

DONE!

与rcp类似的工具还有rsync,用法也类似,感兴趣的同学可以自己查查看:)

Linux基础 - scp免密码登陆进行远程文件同步的更多相关文章

  1. 实现一台Linux电脑连接另一台Linux(SSH实现linux之间的免密码登陆)

    怎么实现一台Linux电脑连接另一台Linux电脑? 首先查看是否安装ssh服务:systemctl status sshd.service 启动服务:systemctl start sshd.ser ...

  2. hadoop搭建杂记:Linux下ssh免密码登陆

    关于ssh免密码登陆的问题 关于ssh免密码登陆的问题 linux下可以用ssh-keygen来生成公钥/私钥对 ①生成id_rsa和id_rsa.pub公钥/私钥对,自动在~/.ssh下生成文件(亦 ...

  3. Jenkins进阶系列之——09配置Linux系统ssh免密码登陆

    ssh认证的完整描述:https://www.ibm.com/developerworks/cn/linux/security/openssh/part1/ 说明:点我去查看 今天我们只说生成ssh的 ...

  4. linux ssh scp免密码

    1.首先登入一台linux服务器做为母机(即登入其他linux系统用这台做为入口):执行一行命令生成key文件:ssh-keygen -t rsa 2.在母机上,进入/root/.ssh目录,找到id ...

  5. Linux 上做免密码登陆

    基于密钥验证1.生成一对密钥ssh-keygen -t {rsa|dsa} -f /path/to/keyfile -N 'password'2.将公钥传输至服务器某用户的家目录的.ssh/autho ...

  6. Linux配置SSH免密码登陆

    配置环境: 两台centos 6.4虚拟机,/etc/hosts配置如下 192.168.63.128 hadoop001 --master192.168.63.131 hadoop002 --sla ...

  7. linux 配置ssh免密码登陆本机

    1.安装 sudo apt-get install ssh 2.配置无密码登录 ssh-keygen -t rsa 遇到停顿按回车即可 进入/home/zeze/.ssh目录(隐藏目录,在winSCP ...

  8. ssh免密码登陆远程服务器

    ssh免密码登陆远程服务器 在使用windows下的cygwin或者在linux下使用Terminal进行远程服务器登陆测试的时候总是会要求输入账号密码,对于此我们可以使用ssh将公钥放在服务器上的方 ...

  9. ssh key 免密码登陆服务器,批量分发管理以及挂载远程目录的sshfs

    ssh key 免密码登陆服务器,批量分发管理以及挂载远程目录的sshfs 第一部分:使用ssh key 实现服务器间的免密码交互登陆 步骤1: 安装openssh-clients [root@001 ...

随机推荐

  1. java多线程-线程池

    线程池(Thread Pool)对于限制应用程序中同一时刻运行的线程数很有用.因为每启动一个新线程都会有相应的性能开销,每个线程都需要给栈分配一些内存等等. 我们可以把并发执行的任务传递给一个线程池, ...

  2. slidedoor滑动门特效

    slidedoor滑动门特效 exportWidth:暴露门的宽度 width imagesWidth:单张图片的宽度width 每道门每次偏移量 translate=imagesWidth-expo ...

  3. jQuery Mapael – 呈现动态的矢量地图

    jQuery Mapael 是基于 Raphael.js 的一个 jQuery 插件,可以显示动态矢量地图.例如,使用 Mapael 可以显示国家能够点击的世界地图.此外,你可以用圈,方形或者图片来标 ...

  4. IOS 绘制圆饼图 简单实现的代码有注释

    今天为大家带来IOS 绘图中圆饼的实现 .h文件 #import <UIKit/UIKit.h> @interface ZXCircle : UIView @end .m文件 #impor ...

  5. shell脚步传参

    linux系统除了提供位置参数还提供内置参数,内置参数如下: $# ----传递给程序的总的参数数目 $? ----上一个代码或者shell程序在shell中退出的情况,如果正常退出则返回0,反之为非 ...

  6. 了解HTML 盒模型

    HTML在布局上, 有一个非常重要的模型, 那就是盒子模型, 在盒子模型中把标签内容理解为一个物品, 而css样式理解为包容着这个物品的盒子, 一般的块级标签都具有盒子模型的特征, 你可以在css中对 ...

  7. TortoiseSVN和VisualSVN-Server的配置使用,外网访问SVN版本库

    TortoiseSVN和VisualSVN-Server的配置使用,外网访问SVN版本库 SVN客户端程序:TortoiseSVN SVN服务器程序:VisualSVN-Server ######## ...

  8. CentOS 6.5 安装 MySQL5.6 并用Navicat for MySQL 连接

    环境 : MySQL 5.6.21 64位 CentOS 6.5 64位 VMware 10 Navicat for MySQL 11 1.卸载自带mysql [root@localhost  ~]# ...

  9. Vmware虚拟机进入BIOS方法

    在VMware里面如何进入BIOS是个头疼的问题,因为启动界面一闪而过(下面两个图如果不设置bios.bootDelay,基本上很难抓到),即使你狂按F2或ESC键(ESC: 调整启动顺序;F2: 进 ...

  10. SQL性能优化:如何定位网络性能问题

    一同事跟我反馈他遇到了一个SQL性能问题,他说全表只有69条记录,客户端执行耗费了两分多钟,这不科学呀.要我分析一下原因并解决.我按照类似表结构,构造了一个案例,测试截图如下所示 这个表有13800K ...