文档章节

Linux下用SCP无需输入密码传输文件

淡定的米哥
 淡定的米哥
发布于 2017/08/29 17:43
字数 546
阅读 54
收藏 0

Linux服务器之间经常会遇到相互传送文件,使用scp命令老是提示需要密码,下面介绍一下免密码的方法:

A服务器的IP:192.168.0.1,B服务器的IP:192.168.0.2,需求:需要从A免密码输入复制文件至B


1. 在服务器A上执行如下命令来生成配对密钥

ssh-keygen -t rsa 

按照提示操作,注意,不要输入passphrase,因为我的之前已经操作过,所以还提示了是否覆盖,输入 "y"回车就可以。其他提示信息如下:

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: 
ff:8e:85:68:85:94:7c:2c:46:b1:e5:2d:41:5c:e8:9b root@localhost.domain

2. 将 /root/.ssh/ 目录中的 id_rsa.pub 文件复制到 服务器 B 的 /root/.ssh/ 目录中,并改名为 authorized_keys

scp .ssh/id_rsa.pub root@192.168.0.2:/root/.ssh/authorized_keys

以后从服务器A scp 到服务器 B 就不需要密码了。

3.使用此方法需要注意:复制的两台计算机需要用相同的账户名,这里都是用的root。为了安全起见,需要在两台机器中创建相同的账号,然后在服务器A 上用 su 命令切换至该账号下,然后执行第1步,第2步中复制文件时可能 ~/.ssh/ 目录并不存在,需要手动创建。

在第2步中如果机器中已经存在authorized_keys文件,则需注意,这个文件可以包含多个SSH验证信息,这时可用 cat >> 命令将验证文件内容附加上去。

现在服务器A上执行脚本

scp ~/.ssh/id_rsa.pub root@192.168.0.2:/root/.ssh/s.pub

然后在服务器B 上执行

cat ~/.ssh/s.pub >> ~/.ssh/authorized_keys

最后可以用个小的文本文件试试,在服务器A上执行

touch ~/test
scp ~/test root@192.168.0.2:/root/

在服务器 B 上用 ls查看是否成功,其实刚才在服务器A 上执行 scp 的时候已经提示传输成功了。

本文转载自:http://www.cnblogs.com/wayne173/p/5505863.html

共有 人打赏支持
淡定的米哥
粉丝 37
博文 76
码字总数 14409
作品 0
朝阳
高级程序员
私信 提问
Linux使用scp命令进行文件远程拷贝详解

前言 scp是 secure copy的缩写, scp是Linux系统下基于ssh登陆进行安全的远程文件拷贝命令。Linux的scp命令可以在Linux服务器之间复制文件和目录。 使用语法: scp [参数] [源路径] @IP:/目标...

开元中国2015
2018/12/11
0
0
Linux下用SCP无需输入密码获取文件

通常用scp命令通过ssh获取对方linux主机文件的时候都需要输入密码 确认,如果需要在主机上做一个自动获取文件的shell脚本,这样显然 是不行的,通过下面的设置,可以不需要输入密码,直接获到...

小编辑
2010/06/06
960
1
[转] linux 下用 SCP 命令进行网络传输

早上来了看看vv15.com写着前 scp 的内容,因为自己偶尔也会用到.所以就在自己的机器上测试了一下,结果不错。下面先是我测试的结果,在传转的过程中要你输入密码才可以进行. ( 当然你也可以启...

华宰
2010/12/24
178
0
Linux下用SCP无需输入密码获取文件

通常用scp命令通过ssh获取对方linux主机文件的时候都需要输入密码确认,如果需要在主机上做一个自动获取文件的shell脚本,这样显然 是不行的,通过下面的设置,可以不需要输入密码,直接获到...

企图穿越
2010/04/07
1K
0
linux系统中scp命令的用法

scp是 secure copy的缩写, scp是linux系统下基于ssh登陆进行安全的远程文件拷贝命令。linux的scp命令可以在linux服务器之间复制文件和目录. scp命令的用处: scp在网络上不同的主机之间复制文...

李长春
2012/02/01
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Coding and Paper Letter(四十五)

资源整理。 1 Coding: 1.Python库gempy,一种基于Python的开源三维结构地质建模软件,它允许从界面和方向数据隐式(即自动)创建复杂的地质模型。 它还支持随机建模以解决参数和模型的不确定...

胖胖雕
33分钟前
0
0
golang 声明一个指定长度的数组,用于后续添加

很多时候我们需要声明一个指定长度的数组,用于后续添加.在使用go的时候要注意,下面的第一个例子会有报错 "non-constant array bound",应该使用第二个例子. Length 是动态的值 有报错的例子 ...

漫步海边小路
36分钟前
0
0
Java NIO示例

Server端 /** * 《构建高性能的大型分布式Java应用》 * 书中的示例代码 * 版权所有 2008---2009 */package book.chapter1.tcpnio;import java.net.InetSocketAddress;i...

月下狼
42分钟前
0
0
发布xxl-job executor dotnet core 执行器的实现

DotXxlJob [github][https://github.com/xuanye/DotXxlJob] xxl-job的dotnet core 执行器实现,支持XXL-JOB 2.0+ 1 XXL-JOB概述 [XXL-JOB][1]是一个轻量级分布式任务调度平台,其核心设计目标...

假正经哥哥
今天
5
0
mysql 查询当天、本周,本月,上一个月的数据

今天 select * from 表名 where to_days(时间字段名) = to_days(now()); 昨天 SELECT * FROM 表名 WHERE TO_DAYS( NOW( ) ) - TO_DAYS( 时间字段名) <= 1 近7天 SELECT * FROM 表名 wher......

BraveLN
今天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部