author:JevonWei

版权声明:原创作品


用户实现key认证登录

主机A   192.168.198,134
主机B 192.168.198,131
主机C 192.168.198,136
  • 创建无秘钥连接

    主机A秘钥连接主机B

    1. 客户端生成秘钥对

      ssh-keygen -t rsa [-p ' '] [-f "~/.ssh/id_rsa"] \-t 指定加密类型,默认为rsa,可省略,-P指定创建秘钥连接,可为空,-f指定秘钥文件存放路径,默认存放路径为~/.ssh/id_rsa
    2. 客户端将生成的公钥文件传输给ssh服务端对应的用户家目录下

      ssh-copy-id -i ~/.ssh/id_rsa.pub danran@192.168.198.131 \ -i 指定公钥文件路径,传输给192.168.198.131主机上的danran用户的家目录下
    3. ssh danran@192.168.198.131 \ 使用秘钥自动登录,无需键入用户密码

主机A秘钥连接主机C
4. ssh-copy-id -i ~/.ssh/id_rsa.pub danran@192.168.198.136 \\ 复制本机的公钥文件到第三台主机上root用户家目录下
5. ssh danran@192.168.198.136 \\使用秘钥连接第二台主机

主机B秘钥连接主机A
6. ssh-keygen -t dsa \\ 主机B创建秘钥文件,-t指定dsa算法
7. ssh-copy-id -i ~/.ssh/id_dsa.pub 192.168.198.134 \\-i 指定公钥文件路径,不指定传输的用户即为默认的当前用户
8. ssh 192.168.198.134 \\ 自动登录

9. 查看主机A上的公钥文件数据
cat ~/.ssh/known_hosts \\ 多个远程主机用户的公钥数据可追加到当前用户家目录下的.ssh/known_hosts文件中



10. ssh 192.168.198.134 uname -r \ 可直接连接192.168.198.134主机并执行uname -r命令

  • 为秘钥添加口令(即每次连接都需输入秘钥口令)

    ssh-keygen -p -f .ssh/id_rsa \ 交互式为rsa秘钥文件添加口令

ssh-keygen -N "danran" -f .ssh/id_dsa   \\非交互式直接指定dsa算法的秘钥文件的口令,-N ' '意为空口令

  • 在本地主机上修改秘钥文件的口令

    ssh-keygen -p -f ~/.ssh/id_dsa \ -f 指定秘钥文件

  • 使用代理验证保存秘钥连接的口令(代理退出需重新登录)

    1. ssh-agent bash \ 将代理程序启动
    2. ssh-add \ 将秘钥文件的口令托管给代理
    3. ssh danran@192.168.198.131

  • Xshell生成key认证



    选择加密算法及位数





    输入秘钥的口令,口令可为空





    秘钥导出保存到本地



    将导出的秘钥文件传输到需连接的主机上的~/.shh下

    cat .ssh/id_rsa_1024.pub > .ssh/authorized_keys 将拷贝的秘钥文件必须命名为authorized_keys



    使用xshell建立会话连接

    验证方式选择Public Key认证



    若秘钥文件添加过口令,则在此键入秘钥的口令

  • SecureCRT生成公钥文件



    选择秘钥的加密算法



    选择键入秘钥文件的口令,可为空



    加密算法的位数



    选择公钥私钥文件的存放到本地的路径



    将本地的公钥文件传输到需连接主机的~/.ssh/下

    将传输的公钥文件格式进行转换

      ssh-keygen -i -f Identity.pub >> ~/.ssh/authorized_keys   \\ -i指定公钥文件的路径,并命名为authorized_keys

    新建一个会话连接



    选择验证方式和输入主机地址及用户名,即可登录

SSH的相关内容

http://www.cnblogs.com/JevonWei/p/7231348.html

通过ssh协议实现用户key认证登录的更多相关文章

  1. [转]SSH 原理和基本使用:ssh 安全配置 以及ssh key 认证登录

    一.什么是 SSH ? SSH全称(Secure SHell)是一种网络协议,顾名思义就是非常安全的shell,主要用于计算机间加密传输.早期,互联网通信都是基于明文通信,一旦被截获,内容就暴露无遗. ...

  2. win10环境下为mongoDB创建用户并认证登录

    一.配置mongoDB的bin目录到环境变量中的path;例如:D:\DatabaseService\MongoDB\Server\4.0\bin 二.cmd打开控制台,然后输入mongo回车,可以进 ...

  3. Java 实现 SSH 协议的客户端登录认证方式--转载

    背景 在开篇之前,让我们先对 SSH 协议有个宏观的大致了解,这样更有利于我们对本文的加深了解.首先要提到的就是计算机网络协议,所谓计算机网络协议,简单的说就是定义了一套标准和规则,使得不同计算机之间 ...

  4. Linux中SSH服务基于key认证实践

    众所周知ssh是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议,它默认工作在tcp的22号端口,具体实现的软件有:openssh(centos默认安装的),dropbear.ssh协议目前 ...

  5. linux SecureCRT ssh key认证登陆

    转自:http://blog.chinaunix.net/uid-20639775-id-3207171.html 通过SecureCRT创建key登录认证 一.生成公钥/密钥对 使用SecureCR ...

  6. linux ssh 使用深度解析(key登录详解)

    SSH全称Secure SHell,顾名思义就是非常安全的shell的意思,SSH协议是IETF(Internet Engineering Task Force)的Network Working Gr ...

  7. Linux下基于HTTP协议带用户认证的GIT开发环境设置

    Git 的访问可以采用 HTTP 或 SSH 协议安全的访问,通常我们使用 gitlib 进行 Web 管理,但是在 Linux 命令行开发环境下,基本都是使用 SSH 协议,只需要在 gitlib ...

  8. Linux学习笔记总结--ssh认证登录

    原理简介 SSH证书认证登录的基础是一对唯一匹配密钥: 私钥(private key)和公钥(public key).公钥用于对数据进行加密,而且只能用于加密.而私钥只能对使用所匹配的公钥,所加密过的 ...

  9. 配置用户通过Telnet登录设备的身份认证(AAA本地认证)

    背景信息 用户通过Telnet登录设备时,设备上必须配置验证方式,否则用户无法成功登录设备.设备支持不认证.密码认证和AAA认证三种用户界面的验证方式,其中AAA认证方式安全性最高. 采用AAA本地认 ...

随机推荐

  1. HTTP学习

    HTTP(HyperText Transfer Protocol)全称"超文本传输协议" HTTP是基于 TCP/IP 协议的应用层协议 现在日常使用版本 HTTP/1.1 一个H ...

  2. JAVA环境变量关于

    1.为什么要设置classPath? 用于通知JVM Java基础类库的位置.classPath告诉类装载器去哪里寻找第三方类库 自JDK1.5之后便不需要再配置这个变量了 2.为什么安装两个JRE( ...

  3. 连续子序列最大和的O(NlogN)算法

    对于一个数组,例如:int[] a = {4,-3,5,-2,-1,2,6,-2}找出一个连续子序列,对于任意的i和j,使得a[i]+a[i+1]+a[i+2]+.......+a[j]他的和是所有子 ...

  4. Javascript DOM 编程艺术———总结-2

    第三章: 一,DOM: Document(文档) Object(对象):用户定义对象,内建对象,宿主对象. Model(模型) 二,节点: 元素节点:诸如:<body> <p> ...

  5. gitlab+jenkins持续集成(一)

    1. 环境:CentOS7.0,jdk-8u91-linux-x64.rpm,jenkins 2.7.4 ,gitlab 9.2.2 2.    安装jdk,jenkins     (rpm -ivh ...

  6. Spring学习笔记之AOP配置篇(一)

    [TOC] 1. 创建并声明一个切面 首先,创建一个类,添加@Component注解使其添加到IoC容器 然后,添加@Aspect注解,使其成为一个切面 最后,在配置文件里面,使用<aop:as ...

  7. js复习---string

    对js的string的方法复习: 1.charCodeAt()  返回一个整数,代表指定位置字符串的unicode编码. strObj.charCodeAt(index) index 是处理字符的从零 ...

  8. Mapreduce——视频播放数据分类统计

    很多视频网站都有电视剧热度排名,一般是依据用户在自己站的行为数据所体现出的受欢迎程度来排名.这里有一份来自优酷.爱奇艺.搜索视频等五大视频网站的一份视频播放数据,我们利用这份数据做些有意义的事情. 金 ...

  9. iOS获取用户设备崩溃日志并分析

    项目最近发布,部分用户在内侧使用,正好遇到一些问题,由于用户在其他城市,所以对于用户设备产生的崩溃日志,不好直接拿设备连接电脑. 对于这种情况,我们可以这样: 1.引导用户开启iOS设备设置-> ...

  10. linux 编译安装详解

    相信大家大多都听过linux 的编译安装,但它到底是怎么把源代码变为自己电脑里可以应用的软件哪?今天,小编就以httpd 为例详细讲解一下. 什么是编译安装--编译:将源代码变为机器可执行的代码文件. ...