scp和samba方法
1、scp方法
什么是scp?
scp是secure copy的缩写,是基于ssh登录来进行远程文件拷贝的。scp和ssh 使用相同的认证方式,提供相同的安全保证 ,scp 在需要进行验证时会要求你输入密码或口令。
scp可以在局域网中使用,也可以在广域网中使用,因为其是基于SSH(Secure Shell,安全外壳协议)使用的,ssh协议使其可以在广域网中使用。同一个主机上的文件拷贝使用的是cp。
语法:
从本地拷贝文件夹到远程:
scp -r [folder] [远程用户名]@[远程ip]:[远程目的文件夹路径]
从本地拷贝文件到远程:
scp [filename] [远程用户名]@[远程ip]:[远程目的文件夹路径]
从远程拷贝文件夹到本地:
scp -r [远程用户名]@[远程ip]:[远程目的文件夹路径]/[folder] [本地的文件夹存放路径]
从远程拷贝文件到本地:
scp [远程用户名]@[远程ip]:[远程目的文件夹路径]/[filename] [本地的文件存放路径]
验证:
以上语法需要远程电脑开放ip 默认端口(22)才能正常使用。
如果上述语法不能使用,需要查看可以使用的端口号,然后在scp 命令中使用 -P 参数指定传输数据使用的端口。
确定端口的方法:
a) ssh 远程用户名@远程IP #使用ssh 登录远程电脑
sudo lsof -i:22 #查自己电脑的端口22是否开放
netstat -autn #查看linux中开放的端口
-a:所有套接字
-t:tcp连接
-u:udp连接
-n:numeric,不解析名字,可以看到具体的端口号,否则默认的端口号会显示为名字ssh,新手可能会不太明白
使用 netstat -help 可以查阅到详细的参数作用。
b) nmap 扫描端口
nmap [扫描类型] [扫描参数] [hosts 地址与范围]
如:nmap -PS 192.168.xx.xx #探测目标主机开放的端口
该命令可以探测本地和远程主机上的端口,根据给出的IP地址扫描。
使用nmap --help可以查看详细的参数
实际使用方便:
实际使用为了自己的使用方便,可以先使用ssh登录远程电脑,通过命令行查看文件的位置,然后在另一个终端terminal中进行scp拷贝。
2、samba 方法
什么是samba?
Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成。SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务。
局域网:在一定的地理范围内(如一栋楼、学校、机关内)将各种计算机、外部设备和数据库等互相联接起来组成的计算机通信网,简称LAN。
samba适合在局域网内使用,传输协议决定在局域网内进行传输使用,拥有界面可视化,多种客户端(windows、ubuntu、mac等),安装、使用简单等优势。
以在Ubuntu上配置不加密的samba为例简单说明:
如果要共享Downloads文件夹,点击文件、右键,出现如下图的Folder Sharing界面,
如果点击 Share this folder选项,首次进行文件分享会出现需要安装sharing service,点击install安装。
点击之后会出现提示需要安装samba,继续点击 install。
使用过程中如果出现了系统报错,可能是缺少了某些samba依赖,可以用命令行重新安装一遍samba,如果出现了网络中断现象可以重启电脑解决。
以上步骤之后,在局域网内的另一台电脑上,比如mac上,打开文件管理器Finder,单击Network,即可看到Ubuntu主机分享的文件夹Downloads。
综上,如果家里有两台电脑,不想来回的优盘复制、拷贝数据,可以使用以上的两种方法,如果习惯用命令行,可以用ssh结合scp方法,通过习惯可视化界面,可以使用samba方法。