第三炮 两台linux电脑之间传输文件(一)
在上一楼的吐槽中也了解到现在在琢磨在两台电脑之间传输文件。现在将电脑插上网线虚拟机的网络设置为桥接。龙芯笔记本也是通过网线连接到路由器上。
分别用ifconfig查看ip吧。
虚拟机的IP是:192.168.1.101
龙芯小本的是:192.168.1.105
scp是secure copy的简写,用于在Linux下进行远程拷贝文件的命令,和它类似的命令有cp,不过cp只是在本机进行拷贝不能跨服务器,而且scp传输是加密的。
可能会稍微影响一下速度。当你服务器硬盘变为只读 read only system时,用scp可以帮你把文件移出来。另外,scp还非常不占资源,不会提高多少系统负荷,
在这一点上,rsync就远远不及它了。虽然 rsync比scp会快一点,但当小文件众多的情况下,rsync会导致硬盘I/O非常高,而scp基本不影响系统正常使用。
1.命令格式:
scp [参数] [原路径] [目标路径]
2.命令功能:
scp是 secure copy的缩写, scp是linux系统下基于ssh登陆进行安全的远程文件拷贝命令。linux的scp命令可以在linux服务器之间复制文件和目录。
3.命令参数:
-1 强制scp命令使用协议ssh1
-2 强制scp命令使用协议ssh2
-4 强制scp命令只使用IPv4寻址
-6 强制scp命令只使用IPv6寻址
-B 使用批处理模式(传输过程中不询问传输口令或短语)
-C 允许压缩。(将-C标志传递给ssh,从而打开压缩功能)
-p 保留原文件的修改时间,访问时间和访问权限。
-q 不显示传输进度条。
-r 递归复制整个目录。
-v 详细方式显示输出。scp和ssh(1)会显示出整个过程的调试信息。这些信息用于调试连接,验证和配置问题。
-c cipher 以cipher将数据传输进行加密,这个选项将直接传递给ssh。
-F ssh_config 指定一个替代的ssh配置文件,此参数直接传递给ssh。
-i identity_file 从指定文件中读取传输时使用的密钥文件,此参数直接传递给ssh。
-l limit 限定用户所能使用的带宽,以Kbit/s为单位。
-o ssh_option 如果习惯于使用ssh_config(5)中的参数传递方式,
-P port 注意是大写的P, port是指定数据传输用到的端口号
-S program 指定加密传输时所使用的程序。
试着传输一个文件:
liklon@liklon-laptop:/media/sf_liklon-linux$ scp ./google-chrome-stable_current_i386_35.0.1916.114.deb root@192.168.1.105:/liklon-arm
ssh: connect to host 192.168.1.105 port 22: Connection refused
lost connection
liklon@liklon-laptop:/media/sf_liklon-linux$
发送有错误,,,错误是没有连接上。查资料后解决的方法如下:
1.如果没有安装ssh可以先执行下面两条指令
liklon@liklon-laptop:sudo apt-get install openssh-client
liklon@liklon-laptop:sudo apt-get install openssh-server
2.查看网络状态,是否启动了ssh
liklon@liklon-laptop:/media/sf_liklon-linux$ netstat -tl
激活Internet连接 (仅服务器)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 *:ftp *:* LISTEN
tcp 0 0 localhost:ipp *:* LISTEN
tcp6 0 0 localhost:ipp [::]:* LISTEN
liklon@liklon-laptop:/media/sf_liklon-linux$
没有启动ssh...
执行下面的语句
liklon@liklon-laptop:/media/sf_liklon-linux$ /etc/init.d/ssh start
* Starting OpenBSD Secure Shell server sshd Could not load host key: /etc/ssh/ssh_host_rsa_key
Could not load host key: /etc/ssh/ssh_host_dsa_key
[ OK ]
liklon@liklon-laptop:/media/sf_liklon-linux$ sudo /etc/init.d/ssh start
[sudo] password for liklon:
Rather than invoking init scripts through /etc/init.d, use the service(8)
utility, e.g. service ssh start
Since the script you are attempting to invoke has been converted to an
Upstart job, you may also use the start(8) utility, e.g. start ssh
liklon@liklon-laptop:/media/sf_liklon-linux$
可以看出得在root权限下去启动。再来查看
liklon@liklon-laptop:/media/sf_liklon-linux$ netstat -tl
激活Internet连接 (仅服务器)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 *:ftp *:* LISTEN
tcp 0 0 *:ssh *:* LISTEN
tcp 0 0 localhost:ipp *:* LISTEN
tcp6 0 0 [::]:ssh [::]:* LISTEN
tcp6 0 0 localhost:ipp [::]:* LISTEN
liklon@liklon-laptop:/media/sf_liklon-linux$
两台电脑都保证SSH是启动的。再开始传输。
liklon@liklon-laptop:/media/sf_liklon-linux$ scp ./google-chrome-stable_current_i386_35.0.1916.114.deb root@192.168.1.105:/liklon-arm
The authenticity of host '192.168.1.105 (192.168.1.105)' can't be established.
RSA key fingerprint is 30:bc:02:11:cb:e6:ef:c9:92:a9:e3:ef:97:b7:a6:4d.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.1.105' (RSA) to the list of known hosts.
root@192.168.1.105's password:
google-chrome-stable_current_i386_35.0.1916.114.deb 100% 45MB 5.6MB/s 00:08
liklon@liklon-laptop:/media/sf_liklon-linux$
OK!!!