本次实验主要使用目前使用最多的Putty和Xshell工具进行实验

关于SSH密钥认证原理,请参考链接:http://www.cnblogs.com/ImJerryChan/p/6661815.html

对于Putty工具:

首先在Puttygen生成秘钥文件,保存好私钥,然后在Linux系统下操作如下:

mkdir /root/.ssh   ----->新建一个目录,默认这个目录不存在
chmod /root/.ssh ----->修改目录权限
cd /root/.ssh ----->到/root/.ssh目录下
touch authorized_keys ----->新建一个文件
chmod authorized_keys ----->修改这个文件的权限
vim authorized_keys ----->打开这个文件,然后把公钥复制进去,保存退出
vim /etc/selinux/config ----->修改这个文件 //若是临时生效的话可以setenforce 0
SELINXU=disabled ----->把yes修改为disabled
iptables -F ----->清空防火墙的配置
然后保存防火墙设置 接着,在putty上加载我们的私钥: 在“SSH”-->“Auth”中加载我们的私钥,然后"LOAD",记得"SAVE"!!!!

对于Xshell工具

方法和上述一模一样
因为本人Putty使用得比较熟练,这里介绍一下Xshell生成秘钥文件的方法:
."Tools"-->"New User Key Wizard"-->"Next"-->"Next"-->如果秘钥不用密码可以直接"Finish"
.记得保存界面显示的公钥,然后按照上述Putty的步骤进行
.在登陆的时候选择Public-Key,然后选择我们刚刚创建的私钥即可

//////////////////////////20170326更新////////////////////////////////

在A机器linux上生成密钥对,并把公钥放到远程B机器linux上,实现A级密钥验证登陆B机器

 在A机器上:
ssh-keygen生成密钥对文件
[root@localhost ~]# ssh-keygen (默认是-t rsa)
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): // 这里直接按回车即可
Enter passphrase (empty for no passphrase): //这里需要设置密钥的密码,如果直接回车则表示密码为空
Enter same passphrase again: // 再次输入密码; 这里也可以输入 ssh-keygen -t rsa -P '' ,这样可以免去输入三次回车,-P ''表示密码为空
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
:8f::7f:4c::8b::0b:3a:::7c::3f:b2 root@localhost.localdomain
The key's randomart image is:
+--[ RSA ]----+
|X+o +. |
|*B.B + |
|=.B + o |
| o + . |
| o . S |
| E |
| |
| |
| |
+-----------------+

这样就生成了一对密钥在/root/.ssh/ 目录下,公钥是id_rsa.pub, 私钥是id_rsa.  然后

cat  .ssh/id_rsa.pub

打开公钥文件,把公钥文件复制到B机器的/root/.ssh/authorized_keys文件下

mkdir /root/.ssh
chmod /root/.ssh
vi /root/.ssh/authorized_keys

然后就可以实现A机器密钥登录B机器了

ssh user@B_ip

免密钥密码登陆方法如下:http://www.cnblogs.com/ImJerryChan/p/6661974.html

使用Putty和Xshell远程登录之密钥认证的更多相关文章

  1. Linux学习总结(三)之 putty,xshell远程连接及密钥认证篇

     一:putty 下载 1:认准两个地方 a. Download putty b. chiark greenend 2:下载32位的zip包,这是一个工具包合集,不单是一个终端工具 二:putty设置 ...

  2. xshell远程登录工具的星号密码查看方法

    当我们在使用ftp,或者xshell等远程登录工具的时候,连接的密码是用星号*处理的,无法查看到,该如何查看到原始的密码呢? 推荐一款星号密码查看器,可以查看一些软件的带星号的密码,非常好用. 下载地 ...

  3. 使用xshell远程登录ubuntu使用vi编辑不能使用删除键方向键

    近期安装了xshell,远程登录上ubuntu后,在插入模式下,按删除键没有任何反应,按方向键分别打印出A.B.C.D,每个字符一行. 这是因为ubuntu初始化安装的是vi的tiny版本,解决办法安 ...

  4. 在ec2上创建root用户,并使用root 通过Xshell远程登录aws云服务器

    1.根据官网提供的方法登录连接到EC2服务器(官网推荐windows用户使用PUTTY连接) 2. 创建root的密码,输入如下命令: sudo passwd root 3.然后会提示你输入new p ...

  5. windows下用Xshell远程登录Linux

    1.下载安装Xshell 2.右击打开终端,输入su ->口令切换到root 3.查看虚拟机IP 输入命令:ifconfig 若提示not found ,输入/sbin/ifconfig (ex ...

  6. Xshell远程登录

    1.xshell由一台服务器a登录另一台服务器b sftp -oPort = root@ip 2.下载git /上传pull git b服务器想下载的目标文件目录 a服务器上的文件下载目录

  7. Putty终端 模拟 远程登录 虚拟机Linux

    1.虚拟机设置 虚拟机设置->网络适配器->选择Host-only:与主机共享一个私有网络 桥接.NAT.Host-only三种网络模式的说明: (1)桥接:表示在局域网内是一台真实的系统 ...

  8. 远程登录Linux系统(使用xshell),远程上传加载文件(使用Xftp)

    一.Xshell(远程登录Linux系统) 1.安装xshell 自己百度找安装包 2.连接登录 1.连接前提 需要Linux开启一个sshd的服务,监听22号端口,一般默认是开启的 查看是否开启: ...

  9. Kali 2.0使用SSH进行远程登录

    注:此文为转载他人博客,不用做商业用途,如有侵权,请联系我删除 一.配置SSH参数 修改sshd_config文件,命令为: vi /etc/ssh/sshd_config 将#PasswordAut ...

随机推荐

  1. Velocity模版引擎使用总结

    Velocity是一个基于java的模板引擎.它允许任何人仅仅简单的使用模板语言来引用由java代码定义的对象. 当Velocity应用于web开发时,界面设计人员可以和java程序开发人员同步开发一 ...

  2. RabbitMQ指南之三:发布/订阅模式(Publish/Subscribe)

    在上一章中,我们创建了一个工作队列,工作队列模式的设想是每一条消息只会被转发给一个消费者.本章将会讲解完全不一样的场景: 我们会把一个消息转发给多个消费者,这种模式称之为发布-订阅模式. 为了阐述这个 ...

  3. Centos之常见目录作用介绍(九)

    我们先切换到系统根目录 / 看看根目录下有哪些目录 [root@localhost ~]# cd / [root@localhost /]# ls bin   dev  home  lib64  mn ...

  4. 高斯过程(GP)

    随机过程基本概念: 随机过程是一个比随机变量更广泛的概念.在概率论中,通常研究一个或多个这样有限个数的随机变量,即使在大数定律和中心极限定理中考虑了无穷多个随机变量,但也要假设随机变量之间互相独立.而 ...

  5. Python学习笔记1_初识Python

    一.Python的发展 1.CNRI时期:CNRI是自助Python发展初期的重要单位,Python1.5版之前的成果大部分都在此时期内完成 2.BeOpen时期:Guido van Rossum与B ...

  6. LeetCode-day01&02

    感觉还好,坚持住就行,毕竟智商不够 1. Length of Last Word求一个数组的最后一个单词的长度 2. Plus One   大数加1 3.  Add Binary 二进制加法 4. S ...

  7. javascript高级语法

    一.JavaScript对象 1.js对象简介 1.1 在JavaScript中除了null和undefined以外其他的数据类型都被定义成了对象,也可以用创建对象的方法定义变量,在JavaScrip ...

  8. 面向对象之继承(Day24)

    一.继承 1.什么是继承 继承是一种创建新类的方式,在Python中,新建的类可以继承一个或多个父类,父类又可称为基类或超类,新建的类称为派生类或子类 2.继承与抽象(先抽象再继承) 抽象基抽取类似或 ...

  9. JAVA学习笔记----【转】 java.toString() ,(String),String.valueOf的区别

    在java项目的实际开发和应用中,常常需要用到将对象转为String这一基本功能.本文将对常用的转换方法进行一个总结. 常用的方法有Object#toString(),(String)要转换的对象,S ...

  10. php……流程

    流程:由两个及以上的业务步骤,完成一个完整的业务行为的过程,可称之为流程:注意是两个及以上的业务步骤.事物进行过程中的次序或顺序的布置和安排. 创建页面: 登录页面(login.php): <h ...