linux scp无密码传输文件配置实例

发布时间:2020-02-27编辑:脚本学堂
有关linux下用scp命令无密码传输文件的配置教程,linux中二台主机间用scp命令传输文件很方便,通过ssh获取对方linux主机文件并进行传输,需要的朋友参考下。

linux系统中,可以使用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,即可进行文件传输了。