在工作中经常有遇到需要脚本自动化同步文件的地方,比如数据库异地备份。假设有两台机子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. ABP Migration(数据库迁移)

    今天准备说说EntityFramework 6.0+,它与我之前所学的4.0有所区别,自从4.1发布以来,code first 被许多人所钟爱,Dbcontext API也由此时而生.早在学校的时候就 ...

  2. 大公司c#&.net转型java的原因有哪些?

    历来就听说有编程语言“鄙视链”的说法,而如今月经贴上的那些事儿,还真让我给遇到了. 以下内容来自知乎,纯属扯淡,易引发口水战,看完勿人身攻击. 目的给盲目的公司决策者.开发人员科普下,有个客观清醒的认 ...

  3. 浅入浅出dubbo

    1. Dubbo是什么? 只是一个框架 Hibernate是持久层框架,SpringMVC是MVC的框架,而Dubbo是分布式服务框架. 是框架而不是服务 所以不是像Tomcat或Memcached可 ...

  4. python字符串连接的N种方式

    python中有很多字符串连接方式,今天在写代码,顺便总结一下: 最原始的字符串连接方式:str1 + str2 python 新字符串连接语法:str1, str2 奇怪的字符串方式:str1 st ...

  5. Linux(Centos)之安装tomcat并且部署Java Web项目

    1.准备工作 a.下载tomcat linux的包,地址:http://tomcat.apache.org/download-80.cgi,我们下载的版本是8.0,下载方式如图:          b ...

  6. IOS开发基础知识--碎片6

    三十三:IOS多视图跳转方法 第一种: 跳转:[self presentModalViewController:control animated:YES]; 返回:[self dismissModal ...

  7. iOS---A valid provisioning profile for this executable was not found

    把Target中的Code Signing Identity也设置成iPhone Develop就ok了,这样一切都说的通了,唯一不合理的就是在Project切换Code Signing Identi ...

  8. (转)[原] Android 自定义View 密码框 例子

    遵从准则 暴露您view中所有影响可见外观的属性或者行为. 通过XML添加和设置样式 通过元素的属性来控制其外观和行为,支持和重要事件交流的事件监听器 详细步骤见:Android 自定义View步骤 ...

  9. Android中Listview展示及其优化好处

    展示效果: 中间的item条目是可以上下滑动的. 代码实现: @Override public View getView(int position, View convertView, ViewGro ...

  10. Java和WebSocket开发网页聊天室

    小编心语:咳咳咳,今天又是聊天室,到现在为止小编已经分享了不下两个了,这一次跟之前的又不大相同,这一次是网页聊天室,具体怎么着,还请各位看官往下看~ Java和WebSocket开发网页聊天室 一.项 ...