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. ctf中常见注入题源码及脚本分析

    1.代码审计发现 这里没有用escape_string,因此存在注入. function show($username){ global $conn; $sql = "select role ...

  2. 【机器学习】反向传播算法 BP

    知识回顾 1:首先引入一些便于稍后讨论的新标记方法: 假设神经网络的训练样本有m个,每个包含一组输入x和一组输出信号y,L表示神经网络的层数,S表示每层输入的神经元的个数,SL代表最后一层中处理的单元 ...

  3. R语言成功加载rJava方法

    加载rJava的同时,要下载JAVA的JRE并且配置环境变量JAVA_HOME,因为rJava的调用需要java运行环境. 1.下载JRE 64位版本的JRE官网下载:http://www.java. ...

  4. [补档][COGS 2434]暗之链锁

    [COGS 2434]暗之链锁 题目 传说中的暗之连锁被人们称为Dark.<!--more-->Dark是人类内心的黑暗的产物,古今中外的勇者们都试图打倒它.经过研究,你发现Dark呈现无 ...

  5. 解决Ubuntu手动安装vim后无法正常…

    首先声明这个问题很坑爹~ 问题描述:下载了vim7.3版本的源码,在虚拟机里面的ubuntu12中手动安装成功后.在使用vim编辑文档时,进入编辑模式出现如下现象:1.使用方向键会打印出"A ...

  6. HDU5727 Necklace(二分图匹配)

    Problem Description SJX has 2*N magic gems. N of them have Yin energy inside while others have Yang ...

  7. nodejs01--什么是nodejs,nodejs的基本使用

    nodejs使用范围 -直接在cmd命令行运行,在你的电脑上直接运行 -可以搭建一个web服务器(express,koa) -一些基本的使用 -modules是如何工作的 -npm管理modules ...

  8. Consul文档简要整理

    什么是Consul? Consul是一个用来实现分布式系统的服务发现与配置的开源工具.他主要由多个组成部分: 服务发现:客户端通过Consul提供服务,类似于API,MySQL,或者其他客户端可以使用 ...

  9. java多线程系列(五)---synchronized ReentrantLock volatile Atomic 原理分析

    java多线程系列(五)---synchronized ReentrantLock volatile Atomic 原理分析 前言:如有不正确的地方,还望指正. 目录 认识cpu.核心与线程 java ...

  10. shell编程之文件包含

    shell脚本也可以包含文件 格式: . filename 或者source filename 举例: a.sh #!/bin/sh calla() { echo "a.sh is call ...