SSH文件共享服务

一、ssh远程登录【一般的Linux系统都会默认安装并启用】

1、Linux上远程命令行登录:ssh 用户名@远程主机IP地址

常用选项:

-2:表示SSH2,强制使用第二代SSH协议,建议使用

-p:端口号

示例:ssh sam@192.168.139.1

大多数SSH登录的两个规则:1)禁止空密码用户登录;2)禁止root用户登录

2、SSH配置文件:/etc/ssh/ssh_config

选项1:PermitRootLogin yes           #添加该行,或者将该行前的#去掉,则会限制root用户登录

选项2:Port 10022                          #设定SSH的端口号为10022,建议修改此处

设置成功后:services shd restart     #重新加载配置文件以生效

此时登录:ssh -2 -p 10022 sam@192.168.139.1

【Windows上有客户端SecureCRT】

二、sftp文件共享(类似于ftp)

Linux命令行登录:sftp pam@192.168.139.1 
   #登录之后与ftp非常相像

【Windows上有SSHSecure Transfer Client】

三、scp文件共享(类似于cp)

1、本机拷贝文件到远程主机【加密传输】

scp  本地文件  用户名@远程主机地址:远程主机目标目录

scp  -r 本地目录  用户名@远程主机地址:远程主机目标目录

e.g. scp   /etc/inittab  penny@192.168.139.1:/home/penny

scp  -r   /etc penny@192.168.139.1:/home/penny

2、从远程主机拷贝文件到本地

scp  用户名@远程主机地址:远程主机文件  本地目录

scp  -r 用户名@远程主机地址:远程主机目录  本地目录

3、常用选项

-r               #复制目录

-p              #保持文件原有属性

-P(大写)    #指定端口号

四、加密与解密

1、对称密钥加密

说明:加密与解密使用同一密钥

优点:速度快

缺点:密钥本身需要交换

2、非对称密钥加密

说明:又称为公开密钥加密,使用时生成两个密钥,一个公开存放,为公钥;一个私人持有,为私钥。用户用其中一个密钥加密的数据只有用另一个密钥才能解开

优点:安全性好

缺点:速度慢



所以加密时,通常是同时使用对称与非对称两种加密结合使用

3、示例

公钥加密 --->私钥解密 ---加密文件

私钥加密 --->公钥解密 ---数字证书【用私钥标记一下,然后用公钥检验】

4、建立信任主机

主机一(本机)

主机二(192.168.16.155)

建立密钥对

获得主机一公钥,并生成认证密钥

ssh-keygen -t rsa #直接回车就可以了

该公钥默认保存在当前用户家目录的.ssh下

catid_rsa.pub >> .ssh/authorized_keys #名称固定,最好用追加符号!

生成公钥id_rsa.pub

chmod 600 .ssh/authorized_key

chmod 700 .ssh【有些系统现在不需要这两步】

说明:

1、此时,主机一登录主机二将不用再使用密码

如:scp -rp penny@192.168.16.155/webadmin /backup

ssh penny@192.168.16.155                  #执行这两条命令将不再需要密码

2、信任主机关系是跟用户是相关的,如root生成的密钥对,只有root可以用,用zhansan登录的时候也是需要使用密码的

3、在主机二上,如果没有.ssh目录的话,需要手工创建一下

五、rsync应用

特点:

1)、方便增量备份实现

2)、可镜像保存整个目录树和文件系统

3)、保持文件的权限,时间,软硬链接等

4)、文件传输效率高

5)、可以使用SSH加密通道

1、启动rsync

rpm  -qf   /etc/xinetd.d/rsync     #查看rsync是否已经安装,但是大部分Linux是默认安装的

编辑/etc/xinetd.d/rsync文件:添加或修改选项 disable=no

service xinetd restart                #将xinetd服务重新启动一下

附:sync  命令:将内存数据同步到硬盘上

2、使用rsync

示例1: rsync  -arHz  --progress  --delete webadmin@192.168.16.155:/website /backup

#备份web服务器端的目录到本地/backup

示例2:rsync -arHz --progress --delete /script samlee@192.168.16.155:/home/samlee

#上传/script目录到用户samlee的宿主目录下

3、选项说明

-a                     #all:保持文件属性

-r                     #递归:子目录递归处理

-H                   #保持文件硬链接

-z                   #备份文件传输时压缩处理,以优化备份速度,建议加上

--progress      #在传输时显示整个传输过程,在自动化执行时就不用加了

--delete         #删除目标备份没有的文件,必须加

-e ssh           #使用ssh加密隧道传输,进行加密处理

rsync -arHz --progress –delete -e ssh /scriptsamlee@192.168.16.155:/home/samlee

六、综合实例分析

服务器A/webadmin 192.168.16.155 penny ---> 备份服务器B(localhost)root

&需要提前做好信任主机关系

a)在备份服务器B生成密钥,将公钥拷贝到服务器A

b)在服务器A上生成认证密钥

1)每周日做一次完全备份:crontab -e

0 2 * * 0 /usr/bin/scp -rp webadmin@192.168.16.155:/webadmin/backup
/webadmin_$(date +%F)

2)每周一~周六做一次增量备份:crontab -e

0 2 * * 1-6 /usr/bin/rsync -arHz --delete penny@192.168.16.155:/website  /backup

Linux 学习笔记_12_文件共享服务_4_SSH的更多相关文章

  1. Linux 学习笔记_12_文件共享服务_3_NFS网络文件服务

    NFS网络文件服务 NFS---- Network File System 用于UNIX/Linux[UNIX类操作系统]系统间通过网络进行文件共享,用户可以把网络中NFS服务器提供的共享目录挂载到本 ...

  2. Linux 学习笔记_12_文件共享服务_2_FTP应用--vsftpd

    Wu-FTP:古老,配置复杂 Proftp:功能强大 vsftp: 安全,高速,稳定[系统默认的FTP软件] VSFTP服务器配置 启动:/etc/rc.d/init.d/vsftpd start [ ...

  3. Linux 学习笔记

    Linux学习笔记 请切换web视图查看,表格比较大,方法:视图>>web板式视图 博客园不能粘贴图片吗 http://wenku.baidu.com/view/bda1c3067fd53 ...

  4. Linux学习笔记(一)2015.4.13

    研究生由单片机转Linux学习 首先安装VMware虚拟机,用的是VMware 10.0 在VMware 10.0上安装视频上推荐的Red Hat Linux 5 安装后正式进入Linux学习 笔记1 ...

  5. linux —— 学习笔记(汇总)

    笔记目录:一.系统知识 和 基本概念                    二.常用操作                   三.系统管理(内存.设备.服务等管理)                   ...

  6. Linux学习笔记-林耐斯Notes-Linux就该这么学

    Linux学习笔记... 参考的优秀Linux网站: http://www.w3cschool.cn/linux/ http://www.linuxeye.com/ http://linux.vbir ...

  7. Linux~学习笔记目录索引

    回到占占推荐博客索引 本篇文章是对自己学习Linux及在它的环境下部署工具的一个总结,以方便自己查阅,也给他人一个帮助,本文章同时会不断的更新,欢迎大家订阅! 本目录包括的内容会包括linux基础命令 ...

  8. Linux 学习笔记之超详细基础linux命令(the end)

    Linux学习笔记之超详细基础linux命令 by:授客 QQ:1033553122 ---------------------------------接Part 14---------------- ...

  9. 91 Testing Linux学习笔记

    91 Testing Linux学习笔记... 学习地址:91Testing 的Linux教程=====================学习网址:http://www.91testing.net/ar ...

随机推荐

  1. JS的replace默认只替换第一个匹配项

    1. JS的replace默认只替换第一个匹配项. 解决方法: 使用正则表达式进行匹配替换[   ①.replace(new RegExp(②,"g") ,③);   ] ①:包含 ...

  2. 部署 Helm - 每天5分钟玩转 Docker 容器技术(162)

    本节我们将安装和部署 Helm 客户端和 Tiller 服务器. Helm 客户端 通常,我们将 Helm 客户端安装在能够执行 kubectl 命令的节点上,只需要下面一条命令: curl http ...

  3. springMVC源码解析--HandlerMethodArgumentResolverComposite参数解析器集合(二)

    上一篇博客springMVC源码分析--HandlerMethodArgumentResolver参数解析器(一)中我们已经介绍了参数解析相关的东西,并且也提到了HandlerMethodArgume ...

  4. 项目部署、配置、查错常用到的Linux命令

    一.常用命令 ls 显示文件或目录 -l 列出文件详细信息l(list) -a 列出当前目录下所有文件及目录,包括隐藏的a(all) ll 会列出该文件下的所有文件信息,包括隐藏的文件的文件详细信息, ...

  5. 预处理指令--C语言

    ANSI标准C还定义了如下几个宏: __LINE__ 表示正在编译的文件的行号 __FILE__ 表示正在编译的文件的名字 __DATE__ 表示编译时刻的日期字符串,例如:"25 Dec ...

  6. CentOS7下安装GitLab

    三步在CentOS7系统下,完成GitLab的安装. 1.安装和配置必须的依赖 sudo yum install curl policycoreutils openssh-server openssh ...

  7. Android Multimedia框架总结(二十)MediaCodec状态周期及Codec与输入/输出Buffer过程(附实例)

    转载请把头部出处链接和尾部二维码一起转载,本文出自逆流的鱼yuiop:http://blog.csdn.net/hejjunlin/article/details/53183718 前言:前面几节都是 ...

  8. springMVC源码分析--AbstractHandlerMapping(二)

    上一篇博客springMVC源码分析--HandlerMapping(一)中我们简单的介绍了HandlerMapping,接下来我们介绍一下它的抽象实现类AbstractHandlerMapping

  9. Freeline--Android平台上的秒级编译方案

    Freeline 技术揭秘 Freeline是什么? Freeline是蚂蚁金服旗下一站式理财平台蚂蚁聚宝团队15年10月在Android平台上的量身定做的一个基于动态替换的编译方案,5月阿里集团内部 ...

  10. Java基础之枚举妙用

    对于枚举,初学Java的时候可能我们就已经接触过了,但是在毕业前,其实一直都不知道真正工作里面枚举是怎么用的,枚举有什么用?接下来,博主就介绍枚举在实际工作中的一种使用场景,本文只适合初级的小菜鸟看哈 ...