SCP不用密码传输文件
来源:互联网 发布:ceic数据库免费账号 编辑:程序博客网 时间:2024/04/29 23:15
有时候为了让两台机器之间实现文件同步,可以使用scp来传输文件,但是scp传输文件时候需要输入密码,这样一来要想实现自动化同步文件就没法实现。所以要想实现自动化同步文件需要去掉scp输入密码这一环节。
方法一:使用sshpass
使用yum安装sshpass
yum install sshpass
scp结合sshpass带上密码传输文件
sshpass -p password scp /data/scripts/getData.log root@X.X.X.X:/data/python-scripts/inspector/AccountInspector/otherInspector
但是这种方式有个缺点,会曝露明文密码。
方法二:创建SSH信任机制
主机A要想通过无密码的SCP方式将文件传输到主机B,主机A得先获得主机B的信任。所谓信任机制可以这样抽象的理解,主机A将自己的某一个证件放到主机B那儿,当有一个请求发到主机B的时候,主机B用这个证件来判断是不是主机A,如果是主机A,则可以直接传输文件,否则要求输入密码才能传输。而这个证件就是主机A上的公钥。
获取A的公钥:
cd /root/.ssh/
执行
ssh-keygen -t rsa
这一步要输入三个参数
- 存储公私钥的文件夹位置,默认为/root/.ssh/,文件名默认是id_rsa和id_rsa.pub
- 使用该公私钥时是否需要密码,默认不需要密码
- 再次确认是否需要密码
推荐一路回车,选择默认即可
执行完毕后,看一下,多了两个文件id_rsa和id_rsa.pub。接下来只需要将id_rsa.pub中的内容复制到主机B中的authorized_keys文件中。
执行
cat id_rsa.pub >authorized_keys2
使用scp将authorized_keys2传输到主机B的/root/.ssh/ 目录下,如果主机B存在authorized_keys文件,则追加到authorized_keys里面
cat authorized_keys2 >>authorized_keys
否则直接创建
cat authorized_keys2 >authorized_keys
备注:要想在主机B中添加对多台机器的信任,只需要将其它机器的公钥内容追加到主机B的authorized_keys文件里面即可。
这样A到B的信任机制已经建立,再次执行SCP指令时,已经不需要输入密码了,如果还想建立B到A的信任机制按步骤反过来就可以。
阅读全文
1 0
- SCP不用密码传输文件
- 用SCP无需输入密码传输文件
- SCP命令的简单使用及在两台LINUX机器传输文件不用输密码的设置
- SCP不用输密码
- scp不用输入密码
- 如何scp不用密码
- 使用ssh传输文件不用输入密码
- scp 无密码传输
- scp无密码传输
- SCP免密码传输
- scp免密码传输
- scp免密码传输
- scp 免密码传输
- scp传输无须密码
- 使用scp上传文件不用输密码的方法
- Linux下用SCP无需输入密码传输文件
- ssh 用 scp 命令 后台传输文件 ,不需要输入密码
- Linux下用SCP无需输入密码传输文件
- double类型的精确计算工具
- muduo库源码学习(base)Condition
- HLS 协议详解
- 购物车二级列表
- 乐观锁与悲观锁
- SCP不用密码传输文件
- 图像压缩-数字图像处理
- 如果你还没冒犯过别人,说明你可能还没做过一件重要的事
- 《面筋:拿到美团点评和去哪儿网的offer》
- 常用 OpenSSL命令汇总
- HTML 超链接,锚点,定位
- 基于字符串的分离链接hash算法
- Java第三课:1000之内的所有完数
- CentOS7.3yum安装Nginx最新版本