linux
下
scp
命令详解
--
主机之间拷贝文件
不同的
Linux
之间
copy
文件常用有
3
种
方法
,第一种就是
ftp
,也就是其中一台
Linux
安
装
ftp
Server
,这样可以另外一台使用
ftp
的
client
程序来进行文件的
copy
。第二种方法就是
采用
samba
服务,类似
Windows
文件
copy
的方式来操作,比较简洁方便,第三种就是利用
scp
命令来进行文件复制。
scp
是有
Security
的文件
copy
,基于
ssh
登录。操作起来比较方便,
比如要把当前一个文
件
copy
到远程另外一台主机上,可以如下命令。
scp /home/daisy/full.tar.gz root@172.19.2.75:/home/root
然后会提示你输入另外那台
172.19.2.75
主机的
root
用户的登录密码,接着就开始
cp
和
ungzip
了
如果想反过来操作,把文件从远程主机
copy
到当前系统,也很简单。
scp root@172.19.2.75:/home/root /home/daisy/full.tar.gz
例如:
copy
本地的档案到远程的机器上
scp /etc/lilo.conf k@net67.ee.oit.edu.tw:/home/k
会将本地的
/etc/lilo.conf
这个档案
copy
到
net67.ee.oit.edu.tw
,
使用者
k
的家目录下。
copy
远程机器上的档案到本地来
scp k@net67.ee.oit.edu.tw:/etc/lilo.conf /etc
会将
net67.ee.oitdu.tw
中
/etc/lilo.conf
档案
copy
到本地的
/etc
目录下。
保持从来源
host
档案的属性
scp
–
p k@net67.ee.tw:/etc/lilo.conf /etc
在此必须注意使用者的权限是否可读取远程上的档案,若想知道更多关于
scp
的使用方法,可
去看看
scp
的使用手册。
ssh-keygen
产生公开钥
(pulib
key)
和私人钥
(private
key)
,以保障
ssh
联机的安性,
当
ssh
连
shd
服务器,会交换公开钥上,系统会检查
/etc/ssh_know_hosts
内储存的
key
,如果找到客户端
就用这个
key
产生一个随机产生的
session key
传给服务器,两端都用这个
key
来继续完成
ssh
剩下来的阶段。
它会产生
identity.pub
、
identity
两个档案,私人钥存放于
identity
,公开钥
存放于
identity.pub
中,接下来使用
scp
将
identity.pub copy
到远程机器的家目录下
.ssh
下的
authorized_keys
。
.ssh/authorized_keys(
这个
authorized_keys
档案相当于协议的
rhosts
档案
)
,
之后使用者能够不用密码去登入。
RSA
的认证绝对是比
rhosts
认证更来的安全可靠。
执行:
scp identity.pub k@linux1.ee.oit.edu.tw:.ssh/authorized_keys
若在使用
ssh-keygen
产生钥匙对时没有输入密码,则如上所示不需输入密码即可从
net67.ee.oit.edu.tw
去登入
linux1.ee.oit.edu.tw
。在此,这里输入的密码可以跟帐号的密