每次登录服务器都要输入密码,这点比较麻烦。使用ssh公钥登录机制可以直接登录,避免每次都输入密码的烦恼。

所谓ssh公钥登录机制即是:客户端电脑client产生加密用的公钥id_rsa.pub与私钥id_rsa,然后将公钥id_rsa.pub放到linux服务器,进行适当的配置之后,客户端电脑client以后每次登录服务器,都由公钥与私钥进行登录的安全验证,如果服务器公钥与客户端私钥配对无误就可以直接登录服务器,无需输入密码。

配置主要按照客户端与服务器端进行。

一、客户端

1.客户端产生公钥与私钥

利用ssh-keygen 命令产生,具体用法参考ssh-keygen --help 或者 man ssh-keygen。例如 ssh-keygen -t rsa -C "my-login-key",-t参数后面指定使用rsa加密算法,-C后面增加注释内容, -f 可以指定输出的公钥与私钥名称。此命令可以产生私钥id_rsa与公钥id_rsa.pub两个文件,可以用cat或者vim打开观察一下。

2.将公钥id_rsa.pub传到linux服务器

如果登录服务器的用户名是Jim,那么就把公钥id_rsa.pub的内容放到linux服务器的 /home/Jim/.ssh/authorized_keys 文件中。如果在文件夹 /home/Jim/.ssh/ 中没有authorized_keys文件则需要创建此文件。 把公钥传到服务器,可以 scp id_rsa.pub Jim@xx.xx.xx.xx:/home/Jim/.ssh/,就把公钥文件传到 /Jim/.ssh/ 里面了,然后再 cat id_rsa.pub >> authorized_keys 即可。

客户端配置到此完成。

二、服务器端

1.配置服务器端的公钥

假设要登陆的用户是Jim,并且Jim还在服务器有自己的文件夹/home/Jim/,在客户端配置的第2步已经把客户端电脑产生的公钥内容放到服务器的 /home/Jim/.ssh/authorized_key文件中。

2.在linux服务器上配置公钥登录功能

开通linux服务器的rsa验证以及公钥验证登录功能,还要指定存放公钥的位置即/home/Jim/.ssh/authorized_keys。主要涉及的操作是修改 /etc/ssh/ssh_config 或者 /etc/ssh/sshd_config 文件的内容。修改完成服务器的sshd_config 内容后,需要重启服务器的sshd服务就能进行免密登陆服务器了,重启命令可以用 systemctl restart sshd.service,重启成功后可以查看sshd服务的状态 systemctl status ssh.setvice, 如果重启出错,可以查看相关的日志。

至此服务器端也配置完成,可以免密码登录了。

在linux服务器以及客户端实现公钥免密登录的更多相关文章

  1. Linux 下配置 hosts 并设置免密登录

    Linux 下配置 hosts 并设置免密登录 作者:Grey 原文地址: 博客园:Linux 下配置 hosts 并设置免密登录 CSDN:Linux 下配置 hosts 并设置免密登录 说明 实现 ...

  2. Linux服务器在SSH客户端如何实现免密登录

    一.SSH客户端Setting 配置 key ,  创建生成公钥导出文件. 二.服务器 master 上生成密钥 通过执行命令 ssh-keygen -t rsa 来生成我们需要的密钥. ssh-ke ...

  3. linux(十)配置ssh免密登录实现

    知道ssh的朋友应该知道它是用来干什么的,如果你不知道什么是ssh远程登录的话,可以去看一下我的上一篇博客,关于linux的网络基础的知识.备注:ssh是用于远端登入.执行ssh指令开启终端机阶段作业 ...

  4. 版本管理·玩转git(远程仓库配置和配置公钥免密登录)

    git系列的最后一部分内容,我们先来看看如何查看远程仓库. 输入 git remote -v 我们还可以删除远程库,输入 git remote remove origin 删除后再次查询,信息为空. ...

  5. ActiveMQ【CVE-2016-3088】上传公钥实现sssh免密登录

    Apache-ActiveMQ是apache旗下的消息中间件,至今为止还是有较多的甲方爸爸们,还在使用该中间件.据了解,Apache-ActiveMQ中间件有2个厉害的CVE,一个是CVE-2016- ...

  6. Linux生成私钥和公钥免密连接

    本文介绍Linux系统生成私钥和公钥进行免密连接,内容比较简单,阅读需要3分钟. 1.大致流程 有时需要从服务器A免密连接到服务器B,这时需要在服务器A生成私钥和公钥,大致过程其实就2步. 1.1 在 ...

  7. ssh免密登录linux服务器

    Ssh免密登录 sshd服务 sshd简介: SSH 密钥为登录 Linux 服务器提供了更好且安全的机制.运行 ssh-keygen 后,将会生成公私密钥对.你可以将公钥放置到任意服务器,从持有私钥 ...

  8. GIT生成SSH-KEY公钥放到服务器免密登录

    在使用git时老是碰到在push的时候提示没有权限的问题,那么现在咱们就来创建ssh-key来免密登录.我们来看看如何配置服务器端的 SSH 访问. 本例中,我们将使用 authorized_keys ...

  9. 【Linux】两台服务器ssh免密登录

    背景: 有些场景可能用到两台服务器ssh免密登录.比如服务器自动化部署 开始准备:  服务器A  linux   ip: 192.168.1.1 服务器B  linux  ip: 192.168.1. ...

随机推荐

  1. WCF错误处理

    介绍 WCF(Windows Communication Foundation) -异常处理:一般Exception的处理,FaultException和FaultException<T> ...

  2. java获取一段字符串里符合日期的正则表达式的字符串

    import java.util.regex.Matcher; import java.util.regex.Pattern; public class Test3 { public static v ...

  3. 富文本编辑器直接从 word 中复制粘贴公式

    在之前在工作中遇到在富文本编辑器中粘贴图片不能展示的问题,于是各种网上扒拉,终于找到解决方案,在这里感谢一下知乎中众大神以及TheViper. 通过知乎提供的思路找到粘贴的原理,通过TheViper找 ...

  4. leetcode解题报告(9):Implement strStr()

    描述 Implement strStr(). Returns the index of the first occurrence of needle in haystack, or -1 if nee ...

  5. 解决zabbix的cannot allocate shared memory of size错误

    问题状态:zabbix_server 不能启动,系统CentOS 6.7 原因分析:这是因为内核对share memory的限制造成的. 用到如下命令ipcs [-m|l|a],sysctl [-a| ...

  6. python写爬虫遇到需要解码js一些记录

    js在线格式化网站 https://beautifier.io/ Python 执行 JS 代码 NodeJS 安装方式 先解决 JS 环境,这里推荐安装 Node.js ,安装方便,执行效率也高. ...

  7. devstack 使用openstack命令报错 The request you have made requires authentication. (HTTP 401) Missing value auth-url required for auth plugin password

    关联错误: The request you have made requires authentication. (HTTP 401) (Request-ID: req-88ad2cba-0f2d-4 ...

  8. 7月清北学堂培训 Day 5

    今天是钟皓曦老师的讲授~ 动态规划 动态规划的三种实现方法: 1.递推: 2.递归: 3.记忆化: 举个例子: 斐波那契数列:0,1,1,2,3,5,8…… Fn = Fn-1 + Fn-2 1.我们 ...

  9. Elasticsearch的Search详解

    介绍 ES不是新技术,是将全文检索和数据分析.分布式整合到一起. 基于lucene开发,提供简单的restful api接口.java api接口.其他语言开发接口等. 实现了分布式的搜索引擎和分析引 ...

  10. jenkins的任务卡住

    今天做jenkins任务的时候,发现一个启动后,一直卡住,在那转圈圈,其实这个时候,任务已经执行完了. 经过分析,因为这个任务是启动一个web服务,直接在机器上执行时,直接占用一个终端. 解决办法,放 ...