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. 如何搭建samba服务?

    为了日后便于查询,本文所涉及到的所有命令集合如下: chkconfig iptables off #关闭防火墙命令 在Centos7中使用的是chkconfig firewalld off seten ...

  2. Java IO流笔记

    File 类 ps:注意file的delete失败可能是输入输出流还在用这个file Java实现简单文件管理 package fileDemo; import java.io.File; impor ...

  3. Windows环境下,从零开始搭建Nodejs+Express+Ejs框架(一)---安装nodejs

    第一步,安装nodejs https://nodejs.org/en/download/ 这个是nodejs的官网,由于操作系统是win7 64位的,所以,我下载的是node-v8.11.1-x64的 ...

  4. MySQL NULL 值处理

    MySQL NULL 值处理 我们已经知道MySQL使用 SQL SELECT 命令及 WHERE 子句来读取数据表中的数据,但是当提供的查询条件字段为 NULL 时,该命令可能就无法正常工作. 为了 ...

  5. Docker的Fig 项目

    在你的应用里面添加一个 fig.yml 文件,并指定一些简单的内容,执行 fig up 它就能帮你快速建立起一个容器 快速搭建基于 Docker 的隔离开发环境 使用 Dockerfile 文件指定你 ...

  6. Bootstrap3 表单-输出内联表单

    为 <form> 元素添加 .form-inline 类可使其内容左对齐并且表现为 inline-block 级别的控件.只适用于视口(viewport)至少在 768px 宽度时(视口宽 ...

  7. GCT学习总结

    GCT的一个综合的考试性质,时间紧,题量大,这个时候需要我们快速.准确的答题,把自己的能力展现在其中,十一期间和同学们一起学习.讨论,大家都提高很大,各科谈一下自己的心得 数学: 数学相对来说还是不难 ...

  8. Programming In Scala笔记-第六章、函数式对象

    这一章主要是以定义和完善一个有理数类Rational为线索,分析和介绍有关类定义,构造函数,方法重写,变量定义和私有化,以及对操作符的定义等. 一.Rational类定义和构造函数 1.定义一个空类 ...

  9. Android N(7.0) 被美翻的新特性!

    Tamic 专注移动开发!更多文章请关注 Csdn: http://blog.csdn.net/sk719887916/article/details/52612444 $ http://www.ji ...

  10. [tornado]websocket 最简单demo

    想法 前两天想看看django 长轮询或者是websocket的方案,发现都不太好使. tornado很适合做这个工作,于是找了些资料,参照了做了个最简单demo,以便备用. 具体的概念就不说了,to ...