Linux学习总结(三)之 putty,xshell远程连接及密钥认证篇
1:认准两个地方 a. Download putty b. chiark greenend
2:下载32位的zip包,这是一个工具包合集,不单是一个终端工具
二:putty设置
1.hostname: 访问服务器的ip,右边port根据实际情况而定,默认22
2 saved sessions :给你此次会话起个名字,可任意,下次名字自动保存在对话框,选择,load就可以选择你整个会话配置
3.在windos 下lines of scrolballback 把后面数字调大比如2000
表示putty窗口向回滚动翻页查看的量,该数字表示多少行
4.windos-appearance-font settings-change 设置字体格式,大小
5.windos-translation 设置字符显示的编码格式,我们设置为utf-8,方便显示中文
6.最后在session下,保存(save),打开(open)
三:秘钥认证
1.先用putty生成秘钥对(公钥,私钥)
a.打开你刚才下载的putty包里面的puttygen.exe
点击Generate 生成秘钥对。
点击save private key 保存私钥到本地,比如F:\linux\linux key
将下图所示公钥拷贝下来待用
2.在服务器上,放进公钥
在终端输入以下内容
mkdir /root/.ssh
chmod 700 /root/.ssh 仅给root用户一个最高权限
备注:chmod 命令后面跟三位数字,代表 属主,属组,其他,每一位有rwx权限,对应数字421,421做加法就是7vi /root/.ssh/authorized_keys
在vi打开的authorized_sys 文件里,按i进入编辑模式,粘贴刚才复制的公钥
按Esc :wq
再输入setenfoece 0 关闭 selinux服务
3.进putty 加载私钥文件
打开putyy加载一个之前的会话
点开左边的SSH-Auth,按照以下界面加载私钥文件
在会到主界面保存打开,然后登陆就可以看到连接成功
四 xhell远程连接及密钥认证
xshell 远程连接跟putty 基本一致,主机ip,字体大小,颜色,字符编码,滚动缓存都可以自己
摸索一下,而且xshell有快捷编辑栏非常方便(第二栏)
下面我直接说xshell 秘钥认证过程
第一步也是生成公钥:
1.依次打开工具-新建用户密钥生成向导
2.下一步,下一步到此界面
3.密钥名称自己起一个,密钥加密密码可以不输,下一步
4.复制此公钥,完成关闭即可
第二步:
也是在服务器上放进公钥,直接放在我们刚才建好的那个authorized_keys,
跟之前putty的公钥区分开,办法是用#加备注隔离
第三步:
1.xshell选择配置要的密钥,用密钥认证登陆
选择文件-打开,选择一个创建好的会话,点击属性
2.然后依次点击连接-用户身份验证,在右边方法里选择 public key 在用户秘钥栏选择刚才创建的秘钥
3.然后确定,连接就可以
奇怪,为什么xshell没有让我们导入私钥呢,我猜想是xhell内部没让我们看到生成的私钥,但是这个连接的过程肯定是私钥解密公钥的过程。我简单说一下我对这个加密的理解。
假如田晓霞要给孙少平通过网络传送她的日记,这个时候她正好学会了密钥认证,数字签名,RSA算法等. 这个过程是这样的:
1:孙少平用计算机生成一对密钥, 将公钥发给田晓霞,田晓霞用该公钥加密她的日记,再发给少平,少平用自己的私钥解密日记.等等,这里有人会问,孙少平如何确定他收到的是田晓霞的完整日记,而不是网络闲人篡改数据发给他的玄幻小说呢?
2: 那么正好涉及到数字签名的过程,田晓霞自己再生成一对密钥,对刚才的加密文件的头文件或者叫摘要信息用自己的私钥加密,再把公钥发给少平,少平用该公钥“解开日记包裹”就能确认晓霞的身份,同时也能确保日记的完整性
3: 总之就是公钥加密,私钥解密,私钥加密,公钥解密。这个密钥对的生成,基于RSA算法,我们在putty密钥认证的过程中有看到这个,该算法虽然公钥和算法都公开,但是从数学逻辑上无法从公钥推导出私钥,因此安全性很高
Linux学习总结(三)之 putty,xshell远程连接及密钥认证篇的更多相关文章
- Linux学习(三)putty,xshell使用以及密匙登陆
一.认识xshell,putty 他们都是服务器登陆客户端.xshell用户体验更好一点.但这里都学一下. putty下载地址:https://www.chiark.greenend.org.uk/~ ...
- 使用Putty和Xshell远程登录之密钥认证
本次实验主要使用目前使用最多的Putty和Xshell工具进行实验 关于SSH密钥认证原理,请参考链接:http://www.cnblogs.com/ImJerryChan/p/6661815.htm ...
- 完美解决linux不能编辑sshd_cofig和实现xshell远程连接的问题
第一步:我们使用命令行vim /etc/ssh/sshd_config 执行修改,强制保持 :wq! 系统不让我们修改这个文件 "/etc/ssh/sshd_config" ...
- 搭建集群必备:windows如何使用Xshell远程连接(SSH)Linux
出处about云(http://www.aboutyun.com/blog-61-22.html)欢迎访问我的博客 首先介绍一下环境: (主机)操作系统:win7 虚拟机:vmware worksta ...
- 虚拟机virtualBox安装linux系统 xshell远程连接linux
虚拟机virtualBox安装linux系统 xshell远程连接linux 虚拟机概念: 通过软件, 使用虚拟化技术虚拟出电脑的硬件环境, 充当真实的电脑使用. 常见的虚拟软件: virtualBo ...
- Xshell远程连接Linux系统
一般来说我们连接Linux,会使用到一些远程连接工具 比如:Xshell和Xftp Xshell:远程连接linux系统 Xftp:远程在Linux系统中上传或下载文件 Xshell和Xftp百度云链 ...
- 其他综合-使用Xshell远程连接管理Linux实践
使用Xshell远程连接管理Linux实践 1. Xshell整体优化 1)点击 工具 ,然后选择 选项 2)在 常规 选项中,下面的存放路径根据个人爱好修改(可选默认) 3)在 更新 选项中,将 √ ...
- 给vmware虚拟机设置Ip,使用xshell远程连接Centos
参考下面两位的分享才弄好,发表之前先对原作者表示感谢! 给Centos配置网络以及使用xshell远程连接Centos http://www.cnblogs.com/fuly550871915/p/4 ...
- (二)给Centos配置网络以及使用xshell远程连接Centos
好吧,我对网络协议以及ip配置知识的匮乏,让我在这里折腾了将近一天才搞定.可以说基本上网上遇到的问题我都遇到了.在这里,记下正确的步骤来给Centos配置网络.希望以后少走弯路. 首先我要说明的是,我 ...
随机推荐
- Access入门 2010,数学
Access入门 2010(高级窗体) 1,创建数据透视图:创建---其他窗体---数据透视图---图标字段列表---选择列表内容---移动到数据透视图的对应位置---完成. 2,创建数据透视表窗体: ...
- js 表格合并单元格
5列 根据需要可添加 或 删除 strOneTemp strTwoTemp strThreeTemp strFourTemp strFiveTemp //合并单元格 this.mergeC ...
- thinkphp下判断状态值语法
在thinkphp框架下我们经常会用到状态值的判断:但是这样写会引起语法错误. <div> <if condition="{$res.status} eq '0'" ...
- curl POST JSON
1. 场景 Controller接收json格式数据 封装bean @RequestMapping(value = "/bb", method = RequestMethod.PO ...
- webapp 的简单开发
web app 的技术平台很多,如adobe phonegap.sencha touch.appcan(国产).dcloud(国产)平台.我选择了dcloud平台,原因:简单,容易上手. web ap ...
- html+css 布局篇
float 做了float后有一些不好的影响. 1.背景不能显示 由于浮动产生,如果对父级设置了(CSS background背景)CSS背景颜色或CSS背景图片,而父级不能被撑开,所以导致CSS背景 ...
- easy html+css tree 简单的HTML+css导航树
code: show:
- mui.ajax()和asp.net sql服务器数据交互【1】
简单的ajax和asp.net的交互,例如遍历数据,前端显示复杂内容没有添加代码,可自行研究!非常适合懂那么一点点的我们! 实现步骤: 1.APP前端HTML: <div class=" ...
- 001服务注册与发现Eureka
1.POM配置 和普通Spring Boot工程相比,仅仅添加了Eureka Server依赖和Spring Cloud依赖管理 <dependencies> <!--添加Eurek ...
- 07_dubbo_compiler
[开始解析最后一行代码 ExtensionLoader.getAdaptiveExtension()] ExtensionLoader<Protocol> loader = Extensi ...