Linux 学习笔记_12_文件共享服务_4_SSH
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的更多相关文章
- Linux 学习笔记_12_文件共享服务_3_NFS网络文件服务
NFS网络文件服务 NFS---- Network File System 用于UNIX/Linux[UNIX类操作系统]系统间通过网络进行文件共享,用户可以把网络中NFS服务器提供的共享目录挂载到本 ...
- Linux 学习笔记_12_文件共享服务_2_FTP应用--vsftpd
Wu-FTP:古老,配置复杂 Proftp:功能强大 vsftp: 安全,高速,稳定[系统默认的FTP软件] VSFTP服务器配置 启动:/etc/rc.d/init.d/vsftpd start [ ...
- Linux 学习笔记
Linux学习笔记 请切换web视图查看,表格比较大,方法:视图>>web板式视图 博客园不能粘贴图片吗 http://wenku.baidu.com/view/bda1c3067fd53 ...
- Linux学习笔记(一)2015.4.13
研究生由单片机转Linux学习 首先安装VMware虚拟机,用的是VMware 10.0 在VMware 10.0上安装视频上推荐的Red Hat Linux 5 安装后正式进入Linux学习 笔记1 ...
- linux —— 学习笔记(汇总)
笔记目录:一.系统知识 和 基本概念 二.常用操作 三.系统管理(内存.设备.服务等管理) ...
- Linux学习笔记-林耐斯Notes-Linux就该这么学
Linux学习笔记... 参考的优秀Linux网站: http://www.w3cschool.cn/linux/ http://www.linuxeye.com/ http://linux.vbir ...
- Linux~学习笔记目录索引
回到占占推荐博客索引 本篇文章是对自己学习Linux及在它的环境下部署工具的一个总结,以方便自己查阅,也给他人一个帮助,本文章同时会不断的更新,欢迎大家订阅! 本目录包括的内容会包括linux基础命令 ...
- Linux 学习笔记之超详细基础linux命令(the end)
Linux学习笔记之超详细基础linux命令 by:授客 QQ:1033553122 ---------------------------------接Part 14---------------- ...
- 91 Testing Linux学习笔记
91 Testing Linux学习笔记... 学习地址:91Testing 的Linux教程=====================学习网址:http://www.91testing.net/ar ...
随机推荐
- ng-book札记——内置指令
Angular提供了一些内置指令(directive),这些添加在HTML元素(element)上的特性(attribute)可以赋予更多的动态行为. NgIf ngIf指令用于在某个条件下显示或者隐 ...
- Python3 SMTP发送邮件
SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式. python的smtplib提供了一 ...
- ActionContext.getContext()用法
为了避免与Servlet API耦合在一起,方便Action类做单元测试,Struts 2对HttpServletRequest.HttpSession和ServletContext进行了封装,构造了 ...
- 准备在CSDN知识库建立一个Ext JS的知识库
CSDN近期正在建立一个知识库,目标是打造身边的技术百科全书 ,我觉得这创意挺好,就像stackoverflow一样,常见的问题在里面基本都有了,只要通过搜索就能找到所需的答案. 现在,大家对于Ext ...
- [extjs5学习笔记]第三十八节 sencha CMD 6.0.0.220版本安装
本文地址:http://blog.csdn.net/sushengmiyan/article/details/46740381 简介 sencha cmd 6安装过程不需要UAC控制了对于widnow ...
- android MultiDex multiDex原理(一)
android MultiDex 原理(一) Android分包MultiDex原理详解 转载请注明:http://blog.csdn.net/djy1992/article/details/5116 ...
- 微信小程序基础之表单Form的使用
表单Form的应用很广泛,我们可以利用form设计登录注册,也可以设计一种答题问卷的形式,今天主要讲一下form的使用 form表单,将组件内输入的"switch","i ...
- Android Topeka介绍
概述 当你已经做Android开发一段时间,并苦于进入瓶颈,这个时候阅读一些优秀App的源码是最好的学习进阶方式,前几天,邀请去参加一个Android大会,我作为其中一个演讲者,专门讲解了Androi ...
- javascript命名规则
javascript对大小写敏感(关键字.函数名.变量名等),标识符的首字符必须是字母.下划线或者$符,其后的字符可以含数字 如果之声明了变量,并未对其赋值,默认为undefined javascri ...
- Java基础---Java---IO流-----BufferedReader、BufferedWriter、缓冲区、装饰设计模式及和继承的区别
IO流 IO流用来处理设备之间的数据传输 java对数据的操作是过流的方式 流按操作数据分为两种:字节流与字符流 流按流向分为:输入流,输出流. IO流常用基类 字节流的抽象基类:InputStrea ...