Scp传输命令(资源)

 

 

首先,创建信任关系 1 VS 10. 但拿两台机器(192.168.1.6,192.168.1.4)作试验

#ssh-keggen -b 1024 -t rsa  //(以root用户)

#cd .ssh/

#ls

id_rsa

id_rsa.pub

knows_host

#scp id_rsa.pub 192.168.1.4:/root/.ssh/192.168.1.6

这里把公钥取名为可信任主机的IP地址

如今登陆到192.168.1.4机器

#cd .ssh/

#cat 192.168.1.6 >> authorized_keys

而后回到192.168.1.6机器。

#ssh 192.168.1.4

 

上传:html

scp /path/file  User@host:/LocalPathorFile

下载:linux

scp User@host:/path/file  /LocalPathorFile

用scp的时候遇到的问题:
Permission denied
lost connection
缘由就是在搭建服务器的时候为了安全性起见,默认已经关闭了scp
解决办法:
登录服务器后 /etc/ssh/ssh_config 中的一个参数改一下:
PasswordAuthentication 将no改成yes
or
PasswordAuthentication前面的#删掉 step
sudo vi /etc/ssh/sshssh_configshell

两台服务器传文件
scp -P 端口号 root@对方服务器IP:对方服务器文件路径+文件名 自身服务器保存路径

scp 自身服务器文件路径+文件名 root@对方服务器IP:对方服务器保存路径

映射远程端口到本地

ssh -C -f -N -g -L 26379:192.168.0.32:6379 remote_user@remote_ip:remote_port

挂载远程目录到本地

mount -t cifs //192.168.50.34/temp /root/aa -o username=allenli,password=lcc201314,rw,dir_mode=0777,file_mode=0777

 

1. [代码]从服务器下载文件    安全

scp root@192.168.1.$1:$2 $3服务器

2. [代码]上传本地文件到服务器    ssh

scp $1 root@192.168.1.$2:$3ide

linux系统之间互传文件

#文件复制:本机→远程服务器 test@xxx.xxx.xxx.xx test为用户名,xxx.xxx.xxx.xx为IP地址
scp /home/test/test.txt test@xxx.xxx.xxx.xx:/home/test.txt  
#文件复制:远程服务器→本机
scp test@xxx.xxx.xxx.xx:/home/test.txt  /home/test/test.txt 
#文件夹复制在scp后面加上“-r”参数便可

远程执行脚本 
ssh -l root 10.10.10.10 "/opt/test/stop.sh"; 
ssh -l root 10.10.10.10  "scp /opt/data/database.tcb 10.10.10.10:/opt/ttserver/test/test.tcb" 测试

 

开始传输文件:ui

输入:scp  /home/helpteach/project/mallupload/1509681299449.png wasadmin@10.127.40.25:/home/testspa

而后拍回车键就能够看到文件正在传输了,等再出现鼠标一闪一闪说明已经传输完毕了,给你们拆解一下语句

 对拷文件夹 (包括文件夹自己)

scp -r   /home/helpteach/project/mallupload/ wasadmin@10.127.40.25:/home/test

 对拷文件夹下全部文件 (不包括文件夹自己)

scp   /home/helpteach/project/mallupload/* wasadmin@10.127.40.25:/home/test

 对拷文件并重命名

scp  /home/helpteach/project/mallupload/1509681299449.png wasadmin@10.127.40.25:/home/test/test.png

/home/helpteach/project/mallupload/1509681299449.png:要传输的文件

注意  : 端口大写P 为参数,2222 表示更改SSH端口后的端口,若是没有更改SSH端口能够不用添加该参数。 root@www.vpser.net 表示使用root用户登陆远程服务器www.vpser.net,:/root/lnmp0.4.tar.gz 表示远程服务器上的文件,最后面的/home/lnmp0.4.tar.gz表示保存在本地上的路径和文件名。

获取远程服务器上的文件  : 
scp -P 2222 root@www.vpser.net:/root/lnmp0.4.tar.gz /home/lnmp0.4.tar.gz

 

获取远程服务器上的目录 : 
scp -P 2222 -r root@www.vpser.net:/root/lnmp0.4/ /home/lnmp0.4/

 

将本地文件上传到服务器上
scp -P 2222 /home/lnmp0.4.tar.gz root@www.vpser.net:/root/lnmp0.4.tar.gz

 

将本地目录上传到服务器上
scp -P 2222 -r /home/lnmp0.4/ root@www.vpser.net:/root/lnmp0.4/

 

 复制目录: 

           scp -r local_folder remote_username@remote_ip:remote_folder 

                或者 

                scp -r local_folder remote_ip:remote_folder

                第1个指定了用户名,命令执行后须要再输入密码; 

                第2个没有指定用户名,命令执行后须要输入用户名和密码; 

 * 例子: 

                scp -r /home/space/music/ root@www.cumt.edu.cn:/home/root/others/ 

                scp -r /home/space/music/ www.cumt.edu.cn:/home/root/others/

                上面 命令 将 本地 music 目录 复制 到 远程 others 目录下,即复制后有 远程 有 ../others/music/ 目录。

 

从 远程 复制到 本地 

从 远程 复制到 本地,只要将 从 本地 复制到 远程 的命令 的 后2个参数 调换顺序 便可;

例如: 

        scp root@www.cumt.edu.cn:/home/root/others/music /home/space/music/1.mp3 

        scp -r www.cumt.edu.cn:/home/root/others/ /home/space/music/

注意两点 :

1.若是远程服务器防火墙有特殊限制,scp便要走特殊端口,具体用什么端口视状况而定,命令格式以下:

#scp -p 4588 remote@www.abc.com:/usr/local/sin.sh /home/administrator

2.使用scp要注意所使用的用户是否具备可读取远程服务器相应文件的权限。

 

cp使用方法

一、获取远程服务器上的文件

# cp -P 2424 username@(ip或远程服务别名):/home/username/a.tar.gz /home/username/ 
-P 2424表示更改SSH端口后的端口,若是没有更改SSH端口能够不用添加该参数;

username@ip 表示使用指定用户登陆远程服务器;

二、获取远程服务器上的目录

# scp -P 2424 -r name@ip:/home/name/aaa/ /home/name/ 
-r 参数表示递归复制(即复制该目录下面的文件和目录);

name@ip:/home/name/aaa/ 表示将远程服务器上用户家目录下的aaa文件夹的内容复制到本地加目录下;

/home/name/ 表示保存在本地上的路径;

三、将本地文件上传到服务器上

# scp -P 2424 ~/aaa.tar.gz name@ip:/home/user/ 
表示将本地用户家目录的文件上传至远程服务器上用户的家目录下;

四、将本地目录上传到服务器上

# scp -P 2424 -r ~/aaa/ name@ip:/home/user/bbb/ 
表示将本地家目录aaa的文件夹的文件所有传至远程服务用户家目录下的bbb文件夹里;

 

一、本地文件传输到远程服务器

命令格式:

1

scp test.txt root@192.168.1.1:/home/

将test.txt文件复制到目标服务器(192.168.1.1)下的home文件夹下。

2.本地文件夹传输到远程服务器

命令格式:

1

scp -r test root@192.168.1.1:/home/

将test整个文件夹复制到目标服务器下的home文件夹下。

3.远程服务器文件传输到本地

命令格式:

1

scp root@192.168.1.1:/home/test.txt test

将远程服务中home目录下的test.txt文件,复制到本地的test目录下

4.远程服务器文件夹复制到本地

1

scp -r root@192.168.1.1:/home/test /Users/jjz

将远程服务器中home目录下的test整个目录复制到本地的jjz目录下

五、scp命令指定密钥文件

1

scp test.txt root@192.168.1.1:/home/ -i ~/.ssh/id_rsa.1

 

要把当前一个文件copy到远程另一台主机上,能够以下命令。

scp /home/daisy/full.tar.gz root@172.19.2.75:/home/root

反过来操做,把文件从远程主机copy到当前系统,也很简单。

scp root@/full.tar.gz 172.19.2.75:/home/root/full.tar.gz home/daisy/full.tar.gz

将本机文件复制到远程服务器上

#scp /home/administrator/news.txt root@192.168.6.129:/etc/squid

/home/administrator/ 本地文件的绝对路径

news.txt 要复制到服务器上的本地文件

root 经过root用户登陆到远程服务器(也可使用其余拥有同等权限的用户)

192.168.6.129 远程服务器的ip地址(也可使用域名或机器名)

/etc/squid 将本地文件复制到位于远程服务器上的路径

如图经过root用户登陆远程服务器,输入yes表示赞成创建ssh链接

按提示输入root用户的密码

如图所示创建链接后开始传输文件,显示百分比、实际时间和传送速度等信息

 

 

一,两台机器一对一scp传文件 
一、使用ssh-keygen 命令生成密钥。生成过程当中,除了输入密码外,其余都选择默认的值:回车便可。 
[root@xxx root]# ssh-keygen -t rsa 
Generating public/private rsa key pair. 
Enter file in which to save the key (/root/.ssh/id_rsa):#回车 
Created directory '/root/.ssh'. 
Enter passphrase (empty for no passphrase):#回车 
Enter same passphrase again:#回车 
Your identification has been saved in /root/.ssh/id_rsa. 
Your public key has been saved in /root/.ssh/id_rsa.pub. 
The key fingerprint is: 
e0:f0:3b:d3:0a:3d:da:42:01:6a:61:2f:6c:a0:c6:e7 root@xxx 
Generating RSA keys: 
Key generation complete. 
会在用户目录~/.ssh/产生两个文件,id_rsa是密钥,id_rsa.pub是公钥 

二、把这个密钥对中的公共密钥访问属性改成755 
[root@xxx root]#chmod 755 /root/.ssh/id_rsa.pub 

三、将id_rsa.pub复制到备份的机器上去,并更名为 authorized_keys,注意,名字必须是authorized_keys 
[root@xxx root]# scp /root/.ssh/id_rsa.pub 192.168.1.92:/root/.ssh/authorized_keys 
root@xxx's password: 
id_rsa.pub                                    100%  218     3.2MB/s   00:00 
[root@xxx root]# 

以后再用ssh scp sftp 访问那台机器时,就不用输入密码。这样能够利用shell进行自动文件传送了。 



2、多台机器多对一scp传文件    

        若是多台机器的文件须要传到一台机器上,须要注意,机器的名称是惟一的,不能有重复。 一、每一个发送机器,都须要各自作【两台机器一对一scp传文件】的步骤一、2,生成本地密钥和公钥,并对公钥id_rsa.pub赋权限 二、将每台机器的公钥都发送到接收机器端,在接收机器端将这些公钥合并成一个authorized_keys文件,最好每一个公钥隔行 三、在接收机器端将authorized_keys文件发送到每一个发送机器端,位置就放在各自用户目录~/.ssh/下。 四、每台发送机器端执行ssh-add    ssh-add用于将密钥加入到ssh-agent中,SSH能够和ssh-agent通讯获取密钥,这样就不须要用户手工输入密码了。 五、测试发送端发送文件到接收端。

 

资源

scp自动备份  :  http://www.voidcn.com/article/p-qwuvvoip-bgc.html

在crontab中利用scp命令自动备份文件  : http://www.voidcn.com/article/p-abukhsmb-wr.html

在Linux下用scp复制文件无需输入密码的技巧 : https://www.jb51.net/article/72327.htm

相关文章
相关标签/搜索