阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Linux下使用scp命令无需输入密码传输文件

173次阅读
没有评论

共计 1413 个字符,预计需要花费 4 分钟才能阅读完成。

在 Linux 环境下,两台主机之间传输文件一般使用 scp 命令,通常用 scp 命令通过 ssh 获取对方 Linux 主机文件的时候都需要输入密码确认。

不过通过建立信任关系,可以实现不输入密码。

这里假设 A 的 IP:192.168.10.1

B 的 IP:192.168.10.2

需要从 A 免密码输入复制文件至 B。

1. 在主机 A 上执行如下命令来生成配对密钥:
ssh-keygen -t rsa
按照提示操作,注意,不要输入 passphrase。提示信息如下
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. 将 .ssh 目录中的 id_rsa.pub 文件复制到 主机 B 的 ~/.ssh/ 目录中,并改名为  authorized_keys。
scp .ssh/id_rsa.pub 192.168.10.2:/root/.ssh/authorized_keys

以后从 A 主机 scp 到 B 主机就不需要密码了。

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

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

比如复制到 scp .ssh/id_rsa.pub 192.168.10.2:/root/.ssh/a.pub

然后执行 cat ~/.ssh/a.pub >> ~/.ssh/authorized_keys

Linux 之 cp/scp 命令+scp 命令详解 http://www.linuxidc.com/Linux/2014-09/107127.htm

CentOS 不能使用 scp 命令 解决方法 http://www.linuxidc.com/Linux/2014-09/106569.htm

两台 Linux 主机之间 scp 复制文件 http://www.linuxidc.com/Linux/2014-04/99979.htm

压榨 scp 传输速度 http://www.linuxidc.com/Linux/2014-01/95498.htm

加速 scp 传输速度 http://www.linuxidc.com/Linux/2014-01/95497.htm

shell 实现 scp 批量下发文件 http://www.linuxidc.com/Linux/2013-11/92783.htm

十个 SCP 传输命令例子 http://www.linuxidc.com/Linux/2014-12/110846.htm

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-20发表,共计1413字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中