CentOS6.9下ssh密钥登录配置步骤(免密码登录)和ssh-keygen 命令常用参数

密钥登录步骤(免密码登录)
ssh登录提供两种认证方式:口令(密码)认证方式和密钥认证方式。其中口令(密码)认证方式是我们最常用的一种,出于安全方面的考虑,介绍密钥认证方式登录到linux/unix的方法。
使用密钥登录分为3步:
1、生成密钥(公钥与私钥);
2、放置公钥到服务器~/.ssh/authorized_key文件中;
3、配置ssh客户端使用密钥登录。
---------------------

一、通过ssh-keygen命令生成密钥对,密钥类型为RSA,也可以通过其他软件生产密钥对。
==========================================================================
pipci@ubuntu:~$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/pipci/.ssh/id_rsa):            <==这里输入私钥名,直接回车就可以名字就为括号中默认的名字
Enter passphrase (empty for no passphrase):                               <==输入密码,自动登录设置为空,直接回车就可以                         
Enter same passphrase again:                                              <==输入确认密码,直接回车就可以
Your identification has been saved in /home/pipci/.ssh/id_rsa.            <==生成的私钥名和位置
Your public key has been saved in /home/pipci/.ssh/id_rsa.pub.            <==生成的公钥名和位置
The key fingerprint is:
SHA256:Hsi5oo0Yr1a9eXtgNeLlu/UAJx1EiH34Gghv96FeXEs pipci@ubuntu
The key's randomart image is:
+---[RSA 2048]----+                                                       <==密钥的位数
|        o +o     |
|     . . +..     |
|      o . o.     |
|     . B *.o.E   |
|    . * SoBo+ .  |
|   . . * =++ .   |
|. . . = + oo     |
| = + + . +. o    |
|+.+ . ..o..  .   |
+----[SHA256]-----+
pipci@ubuntu:~$
===================================================================

查看生成的密钥文件:
===================================================================
pipci@ubuntu:~$ ls -l .ssh/
-rw------- 1 pipci pipci 1679 10月 19 11:45 id_rsa
-rw-r--r-- 1 pipci pipci  394 10月 19 11:45 id_rsa.pub
pipci@ubuntu:~$
===================================================================

注意两点:

1、生成密钥对输入密码的作用是保护本地私有密钥的密码,也就是说,即使有人到用了你的计算机或私钥文件,没有这个密码依然不能使用你的私钥,在使用密钥登录时候也会要求你输入密码,这个密码就是生成密钥对时候输入的密码,用来解锁私钥文件,密码最低5个字符。

2、生成密钥对的私钥权限必须是600公钥权限是644,即只能本人可以查看私钥文件,除了本人以外的任何用户都不能产看,别人可以查看也就意味着任何人都可以通过这个私钥登录了,显然这是不安全的,公钥可以随便查看,但是不能修改内容,修改了还怎么配对登录。同时密钥对的父目录.ssh的权限必须是700即只有本人可以查看和进入。如果是通过命令新创建的.ssh默认就是700权限,创建完查看下就可以,如果不是更改权限。如果不是上面说的权限,客户端登录时候可能会出错。


二、通过scp命令将id_rsa.pub公钥文件复制到远程服务器:
====================================================================
pipci@ubuntu:~$ scp /home/pipci/.ssh/id_rsa.pub  laopi@192.168.1.166:/home/laopi/.ssh/
laopi@192.168.1.166's password:
id_rsa.pub                                    100%  394     0.4KB/s   00:00    
pipci@ubuntu:~$
=====================================================================
通过scp命令复制,前提是远程服务器已经开启ssh密码登录,将公钥文件复制到用来管理用户主目录下面的.ssh目录如果不存在先创建这个目录。这个.ssh的目录权限
必须设置成700要不然登录会提示没有权限的错误,上面的例子远程服务器的ip地址为192.168.1.166用户名为laopi(普通用户)


三、远程服务器的配置

1、将上传的公钥文件导成或重命名成authorized_keys文件或
[laopi@CentOS ~]$ cat .ssh/id_rsa.pub >> .ssh/authorized_keys    #导成

2、编辑ssh的配置文件。

vim /etc/ssh/sshd_config

要确保下面这两项目前面没有#使之生效
---------------------------------------------------------------
PubkeyAuthentication yes                      #允许公钥认证                    

AuthorizedKeysFile .ssh/authorized_keys       #指定包含用于用户身份验证的公钥的文件
---------------------------------------------------------------
为了安全考虑禁用root账户登录
PermitRootLogin no                            #选项前面可以加#号注释掉,同样会禁用root用户

有了证书登录了,就禁用密码登录吧,安全要紧
PasswordAuthentication no                     #选项前面可以加#号注释掉,同样会禁用密码登录

重启一下ssh服务,这样ssh配置才能生效:

[root@CentOS ~]# service sshd restart

四、ssh-keygen 命令常用参数

$ ssh-keygen 参数

常用参数:
-t 指定要创建的密钥类型,如:-t dsa(SSH-2) | ecdsa | ed25519 | rsa(SSH-2)| rsa1(SSH-1)

-b bits 指定密钥长度。对于 RSA 密钥,最小要求 768 位,默认是 2048 位

-C comment 提供一个注释。

-N new_passphrase 提供一个新的密语。

-F hostname
在 known_hosts 文件中搜索指定的 hostname ,并列出所有的匹配项。 这个选项主要用于查找散列过的主机名/ip地址,还可以和 -H 选项联用打印找到的公钥的散列值。

-H 对 known_hosts 文件进行散列计算。这将把文件中的所有主机名/ip地址替换为相应的散列值。原来文件的内容将会添加一个".old"后缀后保存。这些散列值只能被 ssh 和 sshd 使用。这个选项不会修改已经经过散列的主机名/ip地址,因此可以在部分公钥已经散列过的文件上安全使用。

-R hostname
从 known_hosts 文件中删除所有属于 hostname 的密钥。这个选项主要用于删除经过散列的主机(参见 -H 选项)的密钥。

-f filename 指定密钥文件名

-l 显示公钥文件的指纹数据。它也支持 RSA1 的私钥。对于 RSA 和 DSA 密钥,将会寻找对应的公钥文件,然后显示其指纹数据。

1、查看id_rsa.pub的公钥指纹
pipci@ubuntu:~$ ssh-keygen -lf .ssh/id_rsa.pub
2048 SHA256:Hsi5oo0Yr1a9eXtgNeLlu/UAJx1EiH34Gghv96FeXEs pipci@ubuntu (RSA)

1、用 md5 的方式查看指纹数据
pipci@ubuntu:~$ ssh-keygen -E md5 -lf .ssh/id_rsa.pub
2048 MD5:fa:ba:4b:35:18:7f:5f:94:f0:6b:b5:7a:89:98:f9:a5 pipci@ubuntu (RSA)









转载于:https://www.cnblogs.com/pipci/p/9819921.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/413081.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

windows环境下nginx的入门配置跳转tomcat

大家好&#xff0c;我是烤鸭&#xff1a;windows下配置nginx的目的就是要本地跟线上环境尽量保持一致。1. 下载官网下载地址 http://nginx.org/en/download.html我这里用的是nginx-1.13.0&#xff0c;看一下目录结构2. nginx关闭脚本 这里的nginx-killer就…

2018java基础面试题(我自己用的,面试好多家公司基本会问到的问题和技术)

1&#xff0c;webservice是什么&#xff1f; webservice是一种跨编程语言和跨操作系统的远程调用技术,遵循SOPA/WSDL规范。 2&#xff0c;springCloud是什么&#xff1f; springcloud是一个微服务框架&#xff0c;并提供全套分布式系统解决方案。支持配置管理&#xff0c;熔断机…

hadoop配置

hadoop入门配置 准备环境&#xff1a;cetnos6.9、java-1.7.0-openjdk-1.7.0.191.x86_64、hadoop1.2.1 编辑配置文件 hadoop-env.sh:export JAVA_HOME/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.191.x86_64 core.site.xml:<configuration><property><name>hadoop…

[css] 实现一个上下固定,中间自动填满的布局

[css] 实现一个上下固定&#xff0c;中间自动填满的布局 利用flex布局&#xff0c;flex-direction:column 定义排列方向为竖排 header footer 定高&#xff0c;中间部分flex:1; 一样可以实现 需要注意的是body和container容器需要设置高度100%;个人简介 我是歌谣&#xff0c;…

关于redis实现单点登录的一点思路

先简单说一下单点登录&#xff1a; 把登录的部分单独拿出来作为一个项目,专门用来登录。 当我想访问某个子项目或者模块的时候&#xff0c;会先请求登录的部分&#xff0c;如果登录过了&#xff0c;就不需要再登录了。 这个和单独项目时&#xff0c;把userId放到session中道…

Centos7修改主机名

# hostnamectl set-hostname 主机名 # hostnamectl status

SQL注入(1)

基于联合调查的SQL注入 我们先了解一下mysql的系统函数 user()database()version()concat()group_concat()datadir当前使用者的用户名当前数据库名数据库版本连接一个或者多个字符串接一个组的所有字符串&#xff0c;并以逗号分隔每一条数据读取数据库的绝对路径这里给大家提供…

[css] 怎样用纯CSS实现禁止鼠标点击事件?

[css] 怎样用纯CSS实现禁止鼠标点击事件&#xff1f; pointer-events: none; 是css3新出现的属性&#xff0c;意思就是禁止鼠标点击事件&#xff0c;当元素中有这一属性时&#xff0c;链接、点击事件统统失效。个人简介 我是歌谣&#xff0c;欢迎和大家一起交流前后端知识。放…

关于码云开源项目SpringBootAdmin多数据源配置

SpringBootAdmin是码云上一个以springboot为核心的开源的后台管理系统。这里是链接地址&#xff1a;点击打开链接由于是后台系统&#xff0c;应该采用数据库分离&#xff0c;权限&#xff0c;用户&#xff0c;角色和业务模块分开。application.properties #服务端口 server.por…

java将字符串转换成可执行代码

使用commons的jexl可实现将字符串变成可执行代码的功能通用工具类&#xff1a;/** * * author: Longjun * Description: 使用commons的jexl可实现将字符串变成可执行代码的功能 * date:2016年3月21日 下午1:45:13 */ public static Object convertToCode(String jexlExp,Map&…

22.敏捷估计与规划——Why Agile Planning Works笔记

00.经常进行重规划&#xff0c;是敏捷规划和估计为有效探索新产品开发解决方案控件提供支持的方法之一。在每次迭代开始时&#xff0c;都要建立该迭代的计划。发布计划要么在每次迭代后背更新&#xff0c;或者最差的时候也要在每几次迭代后被更新。计划要保持有用&#xff0c;就…

[css] 当全国哀悼日时,怎么让整个网站变成灰色呢?

[css] 当全国哀悼日时&#xff0c;怎么让整个网站变成灰色呢&#xff1f; body{-webkit-filter: grayscale(1);filter: grayscale(1); }/* OR */body{-webkit-filter: grayscale(100%);filter: grayscale(100%); }个人简介 我是歌谣&#xff0c;欢迎和大家一起交流前后端知识…

jeesite使用心得(一)

<update id"updateSelective">UPDATE ${table.name} <set> <#list table.columnList as c><#if c.isEdit?? && c.isEdit "1"><if test"${c.javaFieldId} ! null" >${c.name} ${"#"}{${c.ja…

java List集合转换为List Map集合

/*** 将List<Object>转换为List<Map<String,Object>>* param list* return*/private List<Map<String,Object>> convertListMap(List<Object> list){List<Map<String,Object>> mapsnew ArrayList<Map<String,Object>…

[css] 如果给一个元素设置background-color,它的颜色会填充哪些区域呢?

[css] 如果给一个元素设置background-color,它的颜色会填充哪些区域呢&#xff1f; 个人简介 我是歌谣&#xff0c;欢迎和大家一起交流前后端知识。放弃很容易&#xff0c; 但坚持一定很酷。欢迎大家一起讨论 主目录 与歌谣一起通关前端面试题

jeesite使用心得(二)

按照上一篇的内容&#xff0c;有一些缺陷的地方。分页对象传什么都可以&#xff0c;但是返回的是list<HashMap<String,Object>>集合的话&#xff0c;分页方法就是无效了。这里把我写的贴一下: Controller: // 带条件分页Integer pageNo null;Integer pageSize …

jqgrid删除某一列(隐藏)

$("#jqGrid_table").setGridParam().hideCol("列的名字");//隐藏 $("#jqGrid_table").setGridParam().showCol("列的名字");//显示

一个设计项调另一个设计项(支持多选传值)

//方案管理中起企业按钮中的前端代码function(button, record, e) {debugger; // 中断调试指令&#xff0c;可以手动删除它var me this; // this 为列表视图控制器var viewModel this.getViewModel(); // 获取视图模型var grid this.getView();…

[css] 使用css3做一个魔方旋转的效果

[css] 使用css3做一个魔方旋转的效果 总的来说&#xff0c;用了一些 3D 效果的样式&#xff0c;如 translate3d&#xff0c;rotate3d&#xff0c;perspective&#xff0c;transform-style: preserve-3d; 等&#xff0c;感兴趣的可以去看看它的样式文件个人简介 我是歌谣&…

linux安装elasticsearch5.5

大家好&#xff0c;我是烤鸭: 我是采用官网下载tar包的方式安装的。 安装环境&#xff1a;centos 7.2,jdk1.8 下载地址: https://www.elastic.co/downloads/elasticsearch 1.解压缩&#xff1a; 解压 elasticsearch.5.5.2.tar.gz tar -zxvf elasticsearch-5.2.2.tar.gz2.创…