【scp】Linux下ssh/scp的用法

[root@localhost learngit]# ssh

usage: ssh [-1246AaCfgKkMNnqsTtVvXxYy] [-b bind_address] [-c cipher_spec]

[-D [bind_address:]port] [-E log_file] [-e escape_char]

[-F configfile] [-I pkcs11] [-i identity_file]

[-L [bind_address:]port:host:hostport] [-l login_name] [-m mac_spec]

[-O ctl_cmd] [-o option] [-p port]

[-Q cipher | cipher-auth | mac | kex | key]

[-R [bind_address:]port:host:hostport] [-S ctl_path] [-W host:port]

[-w local_tun[:remote_tun]] [user@]hostname [command]

如果是用对方服务器的秘钥登录,那么需要在本地指定秘钥文件,无需输入密码

# ssh   -p  XXX   -i/path/to/id_rsa root192.168.1.104         使用默认端口

# ssh   -p  XXX   -i /path/to/id_rsa root192.168.1.104         使用指定端口

注:

/path/to/id_rsa  表示的是到id_rsa 这个文件的绝对路径

id_rsa 权限要求为:-rw-------  600

【scp】Linux下ssh/scp的用法_第1张图片

[root@localhost learngit]# scp

usage: scp [-12346BCpqrv] [-c cipher] [-F ssh_config] [-i identity_file]

[-l limit] [-o ssh_option] [-P port] [-S program]

[[user@]host1:]file1 ... [[user@]host2:]file2

scp 拷文件夹 、文件夹下的所有文件、 对拷文件并重命名

对拷文件夹 (包括文件夹本身)

scp  -r   /abc     [email protected]:/opt

注: -r   recursion递归

对拷文件夹下所有文件 (不包括文件夹本身)

scp   /abc/*  [email protected]:/opt

对拷文件并重命名

scp   /abc/a.txt   [email protected]:/opt/b.txt

//将本机的  /abc下的 a.txt 拷贝到 192.168.1.65的/opt/,重新命名为 b.txt。

注:如果目标目录下有同名文件,会被覆盖!

IP 后面不接路径,默认会拷贝到对应IP服务器,对应用户的家目录

scp  -r  abc/    [email protected]

scp  -r  abc/    [email protected]:/root

将 abc 目录及其文件拷贝至于 192.168.1.104 的  /root 目录下 ,显示为  /root/abc

scp  -r  abc/    [email protected]:root

将 abc目录及其文件拷贝至于 192.168.1.104 的 root用户的家目录 /root 下,并被重命名为root ,显示为 /root/root

对拷目录并重命名

scp  -r  abc/    [email protected]:root  相当于  scp  -r  abc/    [email protected]:~/XXX

注:如果目标目录下没有XXX目录,那么拷贝过来的 abc会被改名为XXX

Linux下scp的用法

scp就是secure copy(安全拷贝),一个在linux下用来进行远程拷贝文件的命令。

有时我们需要获得远程服务器上的某个文件,该服务器既没有配置ftp服务器,也没有做共享,无法通过常规途径获得文件时,只需要通过简单的scp命令便可达到目的。

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

scp   /abc/a.txt   [email protected]:/opt/

/abc/a.txt本地文件的绝对路径

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

root                                通过root用户登录到远程服务器(也可以使用其他拥有同等权限的用户)

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

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

通过root用户登录远程服务器,输入yes表示同意建立ssh连接

按提示输入root用户的密码

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

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

# scp    [email protected]:/usr/local/sin.sh       /home/administrator

# scp       [email protected]:/usr/local/sin.sh          /home/administrator

remote _user                      通过remote用户登录到远程服务器(也可以使用其他拥有同等权限的用户)

www.abc.com                      远程服务器的域名(当然也可以使用该服务器ip地址)

/usr/local/sin.sh                   欲复制到本机的位于远程服务器上的文件

/home/administrator           将远程文件复制到本地的绝对路径

注意两点:

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

# scp  -P  4588   [email protected]:/usr/local/sin.sh    /home/administrator

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

Linux区分大小写,windows相反。

同样的端口号参数。在scp和ssh命令中的使用,却不同。

在scp命令中,需要大写。

# scp   -P    XXX     /abc     [email protected]:/opt

在ssh命令中,却是小写。

#  ssh   -p    XXX    [email protected]

默认 ssh  scp 使用22端口,无需指定,如果我们修改了 默认端口,那么相应地使用时需要指定!

# vim /etc/ssh/sshd_config

【scp】Linux下ssh/scp的用法_第2张图片

#  ssh  -p    2222          root@ 58.213.14.170

#  scp   -P  2222    /abc    [email protected]:/opt

注:此处端口值得是对方服务器sshd的监听端口

你可能感兴趣的:(【scp】Linux下ssh/scp的用法)