前言

首先实现基于密钥方式登录系统的原理:

  1. 在客户端建立一对密钥对,然后把公钥放在需要访问的目标服务器上,另外,还需要把私钥放在客户端用来登录的用户的家目录下。
  2. 当客户端发起登录请求时,会将公钥文件送给服务器端,然后服务器会做比对两个公钥,如果比对成功,会向客户端发送一个质询(该质询是用传输密钥对中的公钥加密)。
  3. 客户度收到这个质询之后,会进行解密,然后将解密的结果发送给服务器端确定。

案例:实现密钥方式登录系统

规划:
server:10.220.5.113
client:10.220.5.112

第一步:在客户端器端创建一个密钥对

# ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):  #询问1:密钥对的保存位置
Created directory '/root/.ssh'.
Enter passphrase (empty for no passphrase): #询问2:对密钥对加密密码
Enter same passphrase again:  #询问3:确认密码
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:
7d:e7:f4:ef:63:0b:26:fc:90:04:fd:d5:b6:e2:51:a4 root@BIGboss
The key's randomart image is:
+--[ RSA 2048]----+
|               . |
|          .   o .|
|         . . E oo|
|         .. . o..|
|        S ...+o. |
|          o.o+o. |
|           = +. .|
|            = .o.|
|             ..o=|
+-----------------+
# 三次询问均保持默认,按enter即可;
# ls ~/.ssh/    <<<查看生成的密钥对
id_rsa  id_rsa.pub

第二步:传送公钥到服务器端主机

# ssh-copy-id -i /root/.ssh/id_rsa.pub root@10.220.5.113
The authenticity of host '10.220.5.113 (10.220.5.113)' can't be established.
RSA key fingerprint is 5c:ae:6f:5e:a7:2f:bf:cb:27:fc:c9:a1:46:27:78:d1.
Are you sure you want to continue connecting (yes/no)? yes(此处询问是否确定继续连接,输入yes确认)
Warning: Permanently added '10.220.5.113' (RSA) to the list of known hosts.
root@10.220.5.113's password:  (输入客户端对应用户的登录密码)
Now try logging into the machine, with "ssh 'root@10.220.5.113'", and check in:.ssh/authorized_keysto make sure we haven't added extra keys that you weren't expecting.

说明:

  1. -i:指定要传输的密钥文件
  2. root@10.220.5.113:指定传输到哪个主机上面
  3. 传递到目标主机之后,公钥文件会被重命authorized_keys,该文件的权限必须600

第三步:在10.220.5.113主机上确认公钥文件是否传输到位:

[root@BIGboss ~]# ls  -l /root/.ssh/
total 4
-rw------- 1 root root 394 Oct 21 01:39 authorized_keys

测试:在客户端可以直接登录服务器端

# ssh 10.220.5.113
#ip addr show <<<查看是否已经登录113主机

------做运维之前很矫情的小年轻-----

ssh实现基于密钥方式登录系统相关推荐

  1. 【2021-01-14】navicat使用ssh tunnel、密钥方式连接数据库的问题。错误:Unable to load key - unrecognised cipher name

    之前一直用Navicat for Mysql 10.1.7版本,一直感觉挺好用.这两天需要用ssh tunnel.密钥方式连接一个远程数据库,对方服务器系统是centos8,结果不行了. 首先选择了私 ...

  2. linux 帐号 配置sftp_Linux 下sftp配置之密钥方式登录详解

    Linux下sftp配置之密钥方式登录 由于vsftp采用明文传输,用户名密码可通过抓包得到,为了安全性,需使用sftp,锁定目录且不允许sftp用户登到服务器.由于sftp使用的是ssh协议,需保证 ...

  3. 使用密钥方式登录阿里云服务器

    使用密钥方式登录阿里云服务器 创建服务器时选择密钥方式 使用密钥登录服务器 创建快捷登录 创建服务器时选择密钥方式 选择密钥方式后,会生成并通过浏览器下载aliyun.pem密钥文件,将密钥文件保存至 ...

  4. 基于struts2的登录系统

    web.xml配置 <?xml version="1.0" encoding="UTF-8"?> <web-app version=" ...

  5. 密钥方式登录linux,Linux的密钥对的方式登录方式

    一.密钥的方式登录设备. 一般情况下,我们都是使用账号和密码登录设备,但是,会有个问题.那就是,在批量管理的情况下,你可能每次做相关配置,对所有设备,都账号和密码登录一遍.所以,需要密钥对方式登录设备 ...

  6. crt linux切换用户,不同连接终端通过密钥方式登录 Linux

    近期碰到需要使用密钥登录的情况,不同的连接终端的情况不太一样,所以对此总结一番 一. 密钥对生成 注意:本地主机和目的主机需 ping 通 1)确认服务器是否安装有 ssh 以及openssh服务端 ...

  7. 普通用户通过Putty密钥方式登录

    useradd newuser  //创建新用户 su  newuser cd /home/newuser   //进入到新用户的家目录 mkdir -pv .ssh touch .ssh/autho ...

  8. 用python 登录 ssh 与 sftp 通过证书登录系统

    2019独角兽企业重金招聘Python工程师标准>>> #!/usr/bin/env python # coding=utf-8 import paramikoimport sys ...

  9. SSH代理基于Key免密码登录

    SSH 为 Secure Shell 的缩写,SSH 为建立在应用层基础上的安全协议,SSH是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议, 利用 SSH 协议可以有效防止远程管理过程中 ...

最新文章

  1. 计算机视觉方向简介 | 单目微运动生成深度图
  2. Ueditor富文本添加视频内容,视频不显示以及编辑富文本时,视频不显示解决方案
  3. 关于#!/bin/sh 和 #!/bin/bash 的差别
  4. php 时间函数详解,PHP时间函数date()详解
  5. 全球及中国自卸车行业深度分析与“十四五”发展战略规划研究报告2022-2028年版
  6. 力扣刷题心得(设计类题目)
  7. C语言实现通用堆栈(附完整源码)
  8. leetcode-72-编辑距离
  9. log4j2 无日志记录_在Log4j2中更好地执行非日志记录器调用
  10. 精品美剧小屏精致灰色风格苹果CMSv10主题
  11. gulp-sass的有关问题
  12. Oracle数据备份和恢复
  13. 移动端前端UI框架推荐
  14. 别嘲笑老同志了!网络诈骗,19岁小鲜肉最容易中招
  15. 【语音处理】基于matlab语音去噪频谱分析【含Matlab源码 1019期】
  16. 一个基于场景感应的android智能手机防丢失系
  17. 论文阅读训练(13)
  18. Pytorch —— nn.Module类(nn.sequential)
  19. 转载:关于NERO7刻录软件的使用
  20. java索尼爱立信_JAVA评分_索尼爱立信 W810c_手机其它OS-中关村在线

热门文章

  1. SQL Server 2008中SQL增强之三:Merge(在一条语句中使用Insert,Update,Delete)
  2. Leetcode 121 动态规划(原名字不通过审核)
  3. 联想笔记本电脑,重新安装系统之U盘启动方法
  4. hal库开启中断关中断_[STM32]HAL库下GPIO按键中断与去抖问题分析(分析源码解决问题)...
  5. linux shutter截图,Ubuntu中安装Shutter截图工具
  6. 逻辑运算符和||与(和|)的区别
  7. 002_JDK的Comparable接口
  8. 004-CSS3动画类
  9. 局域网内计算机可以互访 无法上互联网,我使用路由器后访问互联网正常,但是网上邻居不能互访,怎么办?...
  10. ont维修使能工具_上海OTC机器人维修保养以及调试服务了解