scp命令不需要输入用户密码传输

简介:

 

 

scp命令不需要输入用户密码传输

scp就是secure copy,是用来进行远程文件拷贝的。数据传输使用ssh,并且和ssh 使用相同的认证方式,提供

相同的安全保证 。
与rcp不同的是,scp在进行验证时会要求你输入密码或口令。

在两台机器的两个用户之间建立安全的信任关系后,可实现执行scp命令时不需要输入用户密码。

服务器端:

1、开启ssh服务
2、创建文件夹/root/.ssh

客户机端:(同样开启ssh服务)

1. 在机器Client上root用户执行ssh-keygen命令,生成建立安全信任关系的证书。

[root@Client root]# ssh-keygen -b 1024 -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): <– 直接输入回车
Enter passphrase (empty for no passphrase): <– 直接输入回车
Enter same passphrase again: <– 直接输入回车
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is: ……

注意:在程序提示输入passphrase时直接输入回车,表示无证书密码。

上述命令将生成私钥证书id_rsa和公钥证书id_rsa.pub,存放在用户目录的.ssh子目录中。

2. 将公钥证书id_rsa.pub复制到机器Server的root目录的.ssh子目录中,同时将文件名更换为

authorized_keys。

[root@Client root]# scp -p .ssh/id_rsa.pub root@172.16.100.188:/root/.ssh/authorized_keys
root@192.168.3.206’s password: <– 输入机器Server的root用户密码

在执行上述命令时,两台机器的root用户之间还未建立安全信任关系,所以还需要输入机器Server的root用户

密码。
经过以上2步,就在机器Client的root和机器Server的root之间建立安全信任关系。下面我们看看效果:

[root@Client root]# scp -p text root@192.168.3.206:/root     
 
 
 
iptables 开启scp服务:(默认是不开启的)
 
# iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT 
 
 
注:iptables中允许的服务(端口)要写在拒绝的上面,可进/etc/sysconfig/iptables里自行调整。
 

 

变相实现本机带进度拷贝:

# scp /mnt/a.tar.gz root@127.0.0.1:/home

scp本机拷贝默认是不带进度的(如:# scp /mnt/a.tar.gz /home)

 
scp常用的一些参数:

-v 和大多数 linux 命令中的 -v 意思一样 , 用来显示进度 . 可以用来查看连接,认证,或是配置错误。
-C 启用压缩选项,
-r 传递目录下的所有内容
-P 选择端口 . 注意 -p 已经被 rcp 使用 .   
-4 强行使用 IPV4 地址 .   
-6 强行使用 IPV6 地址 .   


 
 
scp客户端(基于windows系统)
 
 
http://data1.pcdown.net/goodsoft-l23/201106/WinSCP.rar
 
 
解压后双击WinSCP.exe-主机名:192.168.1.12  端口:22  用户名:root   密码:123456  文件协议:SFTP

- 登录-是

本文转自linux博客51CTO博客,原文链接http://blog.51cto.com/yangzhiming/834232如需转载请自行联系原作者


yangzhimingg

相关文章
|
Oracle 安全 算法
重磅!JDK 17 发布,Oracle 宣布从 JDK 17 开始正式免费。。
JDK 16 刚发布半年(2021/03/16),JDK 17 又如期而至(2021/09/14),这个时间点牛逼啊,蹭苹果发布会的热度?记得当年 JDK 15 的发布也是同天,巧了。。
重磅!JDK 17 发布,Oracle 宣布从 JDK 17 开始正式免费。。
|
开发工具 git
git基于tag创建分支
git基于tag创建分支
|
8月前
|
存储 Linux 文件存储
VMware vSphere Replication 9.0.4 - 虚拟机复制和数据保护
VMware vSphere Replication 9.0.4 - 虚拟机复制和数据保护
397 2
|
计算机视觉
RT-DETR改进策略【损失函数篇】| Shape-IoU:考虑边界框形状和尺度的更精确度量
RT-DETR改进策略【损失函数篇】| Shape-IoU:考虑边界框形状和尺度的更精确度量
459 1
RT-DETR改进策略【损失函数篇】| Shape-IoU:考虑边界框形状和尺度的更精确度量
|
自然语言处理 程序员 C++
C++基础知识(五:运算符重载)
运算符重载是C++中的一项强大特性,它允许程序员为自定义类型(如类或结构体)重新定义标准运算符的行为,使得这些运算符能够适用于自定义类型的操作。这样做可以增强代码的可读性和表达力,使得代码更接近自然语言,同时保持了面向对象编程的封装性。
350 1
|
域名解析 负载均衡 网络协议
DNS重定向
【8月更文挑战第16天】
1896 1
|
人工智能 异构计算 Python
百度飞桨(PaddlePaddle)安装
百度飞桨(PaddlePaddle)安装
1524 0
|
JavaScript Java 测试技术
基于SpringBoot+Vue的大学生心理健康咨询预约系统的详细设计和实现(源码+lw+部署文档+讲解等)
基于SpringBoot+Vue的大学生心理健康咨询预约系统的详细设计和实现(源码+lw+部署文档+讲解等)
676 0
|
算法 C语言
C 语言| 字符串匹配BF算法与RK算法
字符串匹配算法最经典的手段是BF算法,字符串匹配即给出一个主串S,根据模式串T中的字符串,找出在主串中第一次出现的位置,这个就是字符串匹配,简而言之即给一个规定的内容T,在大范围S中找到一个与之对应的,且第一次出现的位置。
|
存储 监控 Linux
超越基础:释放 Systemd 的全部潜力【systemd 二】
超越基础:释放 Systemd 的全部潜力【systemd 二】
510 0