一.SCP简介

SCP(Secure Copy,安全复制)是一个在远程(本地与远程)服务器间安全的进行文件传输的方法。它以SSH协议为基础,使用SSH协议的22端口。

二.SCP无密码传输原理

原理

首先由用户生成一对密钥,然后将公钥保存在SSH服务器用户的目录下.ssh子目录中的authorized_key文件里(/root/.ssh/authorized_key).私钥保存在本地计算机.当用户登陆时,服务器检查authorized_key文件的公钥是否与用户的私钥对应,如果相符则允许登入,否则拒绝.由于私钥只有保存在用户的本地计算机中,因此入侵者就算得到用户口令,也不能登陆到服务器.

实现

将来源服务器A中的密钥文件 “./.ssh/id_rsa.pub"内容, 拷贝到目标服务器B的”./.ssh/authorized_keys",建立信任关系。

场景

在远程拷贝的时候,需要配置scp的 无密码 复制文件和目录。在编写Shell脚本的时候非常有用,你不希望shell脚本在执行过程中因为要检验密码被打断而报权限错误吧。

来源服务器A,IP:192.168.128.132;
目标服务器B,IP:192.168.128.133;
实现:A免密码输入拷贝文件到B。

三.实现过程

  1. 在来源服务器A 上执行如下命令来生成配对密钥
  • 切换到ssh目录中,如:cd ~/.ssh;
cd ~/.ssh
  • 输入命令:ssh-keygen -t rsa;
ssh-keygen -t rsa
  • 下一步输入文件名, 设为空,或者输入如: id_rsa;
  • 下一步Enter same passphrase again,设为:空

  1. 在 B 上也同样运行
ssh-keygen -t rsa
  1. 将来源服务器A ~/.ssh/ 目录中的 id_rsa.pub 文件复制到目标服务器B 的 ~/.ssh/ 目录中,并改名为 authorized_keys

到此处可以实现A给B发送文件,进行测试

scp /usr/local/shell/host.txt root@192.168.128.133:/usr/local/host

补充

命令:

复制文件:
1.将本地文件拷贝到远程
scp 文件名 用户名@计算机IP:远程路径
2.从远程将文件拷回本地
scp 用户名@计算机IP:文件名 本地路径

复制目录:
1.将本地目录拷贝到远程
scp -r 目录名 用户名@计算机IP:远程路径
2.从远程将目录拷回本地
scp -r 用户名@计算机IP:目录名本地路径

Linux用scp实现无密码传输文件和目录(使用密钥)相关推荐

  1. Linux的scp命令远程传输文件

    1.简介 Linux scp 命令用于 Linux 之间复制文件和目录. scp 是 secure copy 的缩写, scp 是 linux 系统下基于 ssh 登陆进行安全的远程文件拷贝命令. s ...

  2. Linux 使用scp命令远程传输文件夹

    在网上查到的命令是 scp -r root@192.168.1.104:/usr/local/nginx/html/webs/diff 但是执行时提示 usage: scp [-12346BCpqrv ...

  3. linux常用的scp命令远程服务传输文件使用例子

    场景: 在使用Linux操作系统的过程中,常常需要复制文件到本地或者传输文件到其他电脑上,这时候用到两个命令cp和scp. cp命令用来复制文件或者目录.scp是secure copy的简写,用来在L ...

  4. Linux SCP跨服务器传输文件

    SCP跨服务器传输文件 注: 1.跨服务器传输文件或文件夹需确保两台服务器之间的22端口是互通的 2.sh脚本自动删除本机原有文件或文件夹然后在从其他服务器上拷贝文件或文件夹到本机 一.sh脚本定时自 ...

  5. linux windows文件 编码_Mac, Windows和Linux电脑之间如何快速传输文件

    Mac, Windows和Linux电脑之间如何快速传输文件 本文介绍的方法主要适用于在家庭环境中的多台电脑之间快速传输文件,比如家中有三台电脑分别是Windows, Mac和Linux系统,如果传输 ...

  6. 使用scp局域网内传输文件速度很慢的原因排查

    使用scp局域网内传输文件速度很慢的原因排查 1.问题 1.1 scp更改加密方式 1.2 app limited角度 2.尝试排查问题(解决方式) 2.1 电脑同时连接了wifi和有线(实验室有线网 ...

  7. 使用nc传输文件和目录【转】

    方法1,传输文件演示(先启动接收命令) 使用nc传输文件还是比较方便的,因为不用scp和rsync那种输入密码的操作了 把A机器上的一个rpm文件发送到B机器上 需注意操作次序,receiver先侦听 ...

  8. linux shell判断当前目录下的文件或目录

    linux shell判断当前目录下的文件或目录 #!bin/sh for file in ./* doif test -f $filethenecho $file 是文件elseecho $file ...

  9. Linux删除数据库rm,使用linux的rm命令移除文件或目录

    使用linux的rm命令移除文件或目录 发布时间:2020-07-07 14:11:15 来源:亿速云 阅读:123 作者:小新 栏目:服务器 这篇文章主要介绍了使用linux的rm命令移除文件或目录 ...

最新文章

  1. 基于OpenCV平滑图像
  2. 成田机场坐access到品川_@马大哈们:北京有三座机场了,以后订票别选错哦!大兴机场今试飞...
  3. 《Linux From Scratch》第二部分:准备构建 第五章:构建临时文件系统- 5.2 工具链技术备注...
  4. USACO2.4のP1522-牛的旅行(Cow Tours)【最短路Flody】
  5. matlab persistent静态变量
  6. MongoDB学习2——Windows 使用mongo连接数据库
  7. 比较精确的js倒计时实现
  8. oracle job 与存储过程,应用oracle job和存储过程
  9. 超硬核!我统计了BAT笔试面试出现频率最高的五道题,学会了总能碰到一道
  10. 天猫精灵 python_python爬天猫
  11. 【Codeforces 1344 A】Hilbert‘s Hotel,哈希表,set维护
  12. 记一次针对Centos的入侵分析
  13. Mac 配置maven的环境变量
  14. 如何部署局域网即时通讯软件
  15. vp9 prob 详细分析
  16. vs code中英文标点符号自动更改
  17. 赛尔号什么时候支持html5,赛尔号5月25日更新攻略汇总 赛伯斯特完全体降临
  18. 建行u盾弹不出来_安装建行的网银盾驱动的时候系统检测不出怎么办
  19. java 打印机设置参数设置_Java 打印PDF文档 - 指定打印机、自定义纸张大小、设置打印参数、显示打印对话框等...
  20. 《50个问题吃定所有对手》 博客思听 2011年1月

热门文章

  1. mysql视图改造实体表_数据库视图改了对基表
  2. a1 抛光等级spi_抛光等级对照表
  3. c语言中的钩子函数,生命周期(vue的钩子函数)
  4. DotNetNuke 5 User's Guide: Get Your Website Up and Running
  5. 震波——动态点分治+线段树
  6. 论文翻译——Lattice indexing for spoken term detection
  7. mysql 目录的了解以及Linux
  8. frame、bounds表示大小和位置的属性以及center、position、anchorPosition
  9. 【Python】排序函数 sort、sorted 对复杂列表排序
  10. mysql 判断当前星期_MySQL数据库如何获取一个日期所对应的星期数呢?