赞
踩
有时候不方便创建共享文件夹来拷贝文件,这个时候可以通过scp命令实现两台主机之间的文件拷贝操作。
scp在拷贝远端电脑的文件时,会通过ssh服务访问远端,所以远端电脑必须要安装ssh服务。下面分别介绍一下linux和windows平台安装ssh服务的方法
1.安装openssh-server
sudo apt install openssh-server
2.开启服务和关闭服务
#启动服务
sudo systemctl start ssh
#关闭服务
sudo systemctl stop ssh
3.查看服务状态
sudo systemctl status sshd
开启状态:
关闭状态:
基本语法:
#文件拷贝
scp 用户名@文件源ip地址:文件源路径 目标路径(本机)
#文件夹拷贝,加-r即可
scp -r 用户名@文件夹源ip地址:文件夹源路径 目标路径(本机)
注:
1.要访问的那个主机必须开启ssh服务
2.上面的本机指的是正在操作的机器,比如通过终端登录机器A,那么此时这个A就是本机。
例: 将ip为192.100.10.3的电脑里边的/home/sun/.gitconfig
文件拷贝到本地当前工作目录
scp sun@192.100.10.3:/home/sun/.gitconfig ./
例: 将ip为192.100.10.4的电脑里边的D:\1.txt
文件拷贝到本地当前工作目录
scp administrator@192.100.10.4:/D:/1.txt ./
注:
- 上面的例子都是将其他电脑的文件拷贝到本地,如果想将本地文件拷贝到其他电脑,只需要将源路径和目标路径交换一下即可;
- 目的地址和源地址不可以都是远程机,如:scp sun1@192.100.10.4:/xxx sun2@192.100.10.7:/xxx。
sun@pc:~/code$ scp -v 1.txt administrator@192.32.1.6:/E:/share
Executing: program /usr/bin/ssh host 192.32.1.6, user administrator, command scp -v -t /E:/share
OpenSSH_7.6p1 Ubuntu-4ubuntu0.7, OpenSSL 1.0.2n 7 Dec 2017
debug1: Reading configuration data /home/sun/.ssh/config
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug1: Connecting to 192.32.1.6 [192.32.1.6] port 22.
debug1: connect to address 192.32.1.6 port 22: Connection timed out
ssh: connect to host 192.32.1.6 port 22: Connection timed out
lost connection
这个是由于windows的ssh server没有启动,所以一直连接不上,启动windows ssh服务方法如下
sun@pc:~/code$ scp administrtor@192.32.1.6:/E:/gitcommit_template ~/
administrtor@192.32.1.6's password:
Permission denied, please try again.
administrtor@192.32.1.6's password:
Permission denied, please try again.
administrtor@192.32.1.6's password:
administrtor@192.32.1.6: Permission denied (publickey,password,keyboard-interactive).
在你保证ssh服务都开启的情况下,还出现了这个问题,那一定是用户名或者密码写错了,这个里边的administrtor
应该是administrator
,少写了一个a
。不要小看这类问题,往往会困扰很久。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。