Linux提供了两个文件复制命令
1:cp 用于同一台电脑上的文件复制
2:scp 用于不同电脑之间的文件复制
这里主要讲的是scp 指令
OPTIONS
-v 和大多数 linux 命令中的 -v 意思一样 , 用来显示进度 . 可以用来查看连接、认证、 或是配置错误
-C 使能压缩选项
-P 选择端口 . 注意 -p 已经被 rcp 使用
举例:
scp -P 22 root@120.25.240.225:/opt/jdk-7u55-linux-x64.tar.gz /opt/jdk-7u55-linux-x64.tar.gz
说明 :
A:将服务器120.25.240.225里面的/opt/jdk-7u55-linux-x64.tar.gz 复制到当前服务器位置是:/opt/jdk-7u55-linux-x64.tar.gz
B :22 是端口号 root 是服务器上的用户名
Ps:-r 刚好相反把本地的文件上传到远程服务器
这是会提示你输入密码直接输入225 的root用户密码就可以了。
这里我们发现一个问题,每次执行时候都要输入密码,有点麻烦。下面是免密码的方式:
目标:B机器:114.215.121.228 下载上传A机器:120.25.240.225文件免密码
大致步骤:
定义
1 在B上root用户执行ssh-keygen命令,生成建立安全信任关系的证书。
ssh-keygen -b 1024 -t rsa (提示输入的直接回车)
此时在root/.ssh/下面会生成私钥证书id_rsa和公钥证书id_rsa.pub
2 把B机器的公钥id_rsa.pub放在A机器的/root/.ssh/下命名:authorized_keys
用命令:scp -r /root/.ssh/id_rsa.pub root@120.25.240.225:/root/.ssh/authorized_keys
这是还没有建立安全信任关系需要输入密码
3 测试:
scp -P 22 root@120.25.240.225:/opt/shell/dms /opt/dms
没有输入密码,完成
注:如果想让B,C同时可以scp不输入密码,传输A中的数据;
则要把B、C的公钥都给 A;
操作步骤:把两机器的id_rsa.pub中的数据都拷贝到A的/root/.ssh/authorized_keys文件中,一行表示一条;