标签:读取 并且 安全 免密 scp命令 传递 root 寻址 cli
#向远端传文件
$ scp [-r] dir/file_name user_name@ip_addr/domain_name:dir
#从远端往本地传文件
$ scp [-r] user_name@ip_addr/domain_name:dir/file_name dir
usr_name是用户名
ip_addr是ip地址
domain_name是域名
当不输入user_name的时候会默认使用本地用户名
dir是文件目录
file_name是文件名
如果传输的是文件夹需要加上-r参数,传送文件不用
同样的,每次输入ip地址或者域名都太复杂了,刚刚的~/.ssh/config文件还在,完全可以执行
$ scp [-r] dir/file_name alias_name:dir
$ scp [-r] alias_name:dir/file_name dir
# 传输到本地时可以使用相对路径,当前目录可以用.替代,上级目录可以用..替代
进行传送文件。
远端dir如果值为空,默认传输到服务器用户的家目录下
$ scp [-r] dir/file_name alias_name:
# 等同于#
$ scp [-r] dir/file_name alias_name:~
#############################################
有两台服务器,client端没有root权限,接收端server有root权限。现在需要从client端免密scp文件到server端。
因为client端没有.ssh文件夹的访问权限,所以不能直接使用client端的密钥,需要从server端生成密钥文件。
整个流程操作步骤如下:
1、server端生成密钥,并且把公钥添加到authorized_keys
2、把私钥上传到client端
3、使用scp -i指定密钥传输
执行ssh-keygen -t rsa,完成之后在/root/.ssh文件夹可以查看到密钥对id_rsa为密钥文件,id_rsa.pub为公钥文件;
执行cp -rf /root/.ssh/id_rsa.pub /root/.ssh/authorized_keys即可
把server端的id_rsa上传至client端即可
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 指定加密传输时所使用的程序。此程序必须能够理解ssh(1)的选项。
此处用到的就是-i参数
使用前记得把id_rsa权限改成600,权限太大会报错
scp -i id_rsa auto_feature/featurefile/特征库* root@172.16.16.199:/HYTF/TD/特征库文件/第二代特征库/
备注:
1、此处id_rsa必须与server端的公钥配对
2、如id_rsa文件放在其他目录,记得加上路径
标签:读取 并且 安全 免密 scp命令 传递 root 寻址 cli
原文地址:https://www.cnblogs.com/igoodful/p/11583751.html