linux常用命令 / 未分类 · 2012年5月21日

scp

scp就是secure copy,是用来进行远程文件拷贝的.数据传输使用ssh1,并且和ssh1使用相同的认证方式,提供相同的安全保证.与rcp不同的是,scp会要求你输入密码如果需要的话.
最简单的应用如下:
第一种是在每一次复制的时候都需要输入目标机器的密码,另外一种是在目标机器上写入一个类似key的文件信息(可以避免每次copy时都要输入密码)
第一种的语法是:
scp 本机用户名@IP 地址:本机文件名1 远程机器用户名@IP 地址:远程文件名2,其中【本地用户名@IP 地址:】可以省略,即:
scp 本机路径 root@192.xx.xx.xx:远程机器的路径
回车后需要输入远程机器(目标机器)root的登录密码(也可是其它用户名)
其中scp的命令参数如下:
-1
强制scp命令使用协议ssh1
-2
强制scp命令使用协议ssh2
-4
强制scp命令只使用IPv4寻址
-6
强制scp命令只使用IPv6寻址
-B
使用批处理模式(传输过程中不询问传输口令或短语)
-C
允许压缩。(将-C标志传递给ssh,从而打开压缩功能)
-p 保留原文件的修改时间,访问时间和访问权限。
-q
不显示传输进度条。
-r 递归复制整个目录。 拷贝文件夹时就常常要用到 (递归复制整个目录)
-v 详细方式显示输出。scp和ssh(1)会显示出整个过程的调试信息。这些信息用于调试连接,验证和配置问题。
和大多数linux命令中的-v意思一样,用来显示进度.可以用来查看连接,认证,或是配置错误.
-P 选择端口.注意-p已经被rcp使用.
-c cipher
以cipher将数据传输进行加密,这个选项将直接传递给ssh。
-F ssh_config
指定一个替代的ssh配置文件,此参数直接传递给ssh。
## use id_rsa: private key 不用输入密码那么浪费时间 与麻烦
拿 id_rsa: private key ,id_rsa.pub: public key ,前提public key已追加在每台的 authorized_keys,没得话要自己追加上去
##要先把 private key 放在源机器的相对应home目录 或者其它地方也行, 600权限,但如果不是在相对家目录就要-i 指定 key
ssh -i /home/support/.ssh/id_rsa evan@12.9.245.14
scp -i /home/support/.ssh/id_rsa evan evan@12.9.245.14:/data/tmp/.
scp -i /home/support/.ssh/id_rsa evandir evan@12.9.245.14:/data/tmp/. ## 传目录
http://www.berlinix.com/ssh.html
http://www.21andy.com/blog/20100911/1943.html
##这个反对,要是原来有 公key在 里面,那不是被清空了呀 ,所以 建议一定 要用追加的形式,这样是方便 ,但方便出问题呢
2. 将公钥证书 id_rsa.pub 复制到机器B的root目录的.ssh子目录中,同时将文件名更换为authorized_keys。
[root@A root]# scp -p .ssh/id_rsa.pub root@机器B的IP:/root/.ssh/authorized_keys
root@192.168.3.206’s password: <– 输入机器B的root用户密码 good link http://www.berlinix.com/ssh.html http://www.5dlinux.com/article/9/2009/linux_29104.html id_rsa: private key id_rsa.pub: public key