Linux Scp文件拷贝命令用法

发布时间:2019-10-02编辑:脚本学堂
本文介绍了linux系统中scp文件拷贝命令的用法,有需要的朋友参考下。

如果两台linux服务器之间经常需要相互拷贝文件,根本不需要配置复杂的FTP等软件,直接使用Linux系统内置的scp命令即可。
scp命令命令格式与cp命令类似,但scp是通过SSH协议在不同的计算机之间复制文件。

scp命令示例
从当前服务器复制到远程计算机
 

复制代码 代码示例:
scp -P 22 -r /home/picture/ root@www.jb200.com:/home/picture/
 

其中-P表示SSH端口(注意P是大写),-r表示递归目录
从远程计算机复制到本地
 

复制代码 代码示例:
scp -P 22 root@www.jb200.com:/home/pack.zip /home/
 

执行命令后,系统提示输入SSH密码。这里的认证与SSH一样,既可以支持密码,也可以支持密钥认证。
如果是两台相互信任的计算机,则可以将SSH证书加入到信任中,实现不需要密码使用scp命令。
scp不需要输入密码/保存密码/使用密钥

以A机器上执行scp命令连接B机器时不需要输入密码为例:
1、在机器A上执行以root用户执行如下命令:
 

复制代码 代码示例:
[root@www /]# ssh-keygen -b 1024 -t rsa
 

然后在询问的地方一律直接回车。
此时命令返回如下类似字符串:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
提示public key已经保存到/root/.ssh/id_rsa.pub了。注意,.ssh目录是隐藏目录,可以直接使用cd命令进入。

2、把A机器生成的公钥复制到B计算机,并且修改文件名。执行如下命令即可:
 

复制代码 代码示例:
[root@www /]# scp -p /root/.ssh/id_rsa.pub root@机器B的IP:/root/.ssh/authorized_keys
 

执行上述命令时需要输入机器B的root用户的密码。

3、现在已经可以在A机器上直接执行scp命令连接B机器而无需输入密码了。