每次登录服务器都要输入密码,这点比较麻烦。使用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. vue,react,angular三大web前端流行框架简单对比

    常用的到的网站 vue学习库: https://github.com/vuejs/awesome-vue#carousel (json数据的格式化,提高本地测试的效率) json在线编辑: http: ...

  2. spring配置和映射文件

    配置 <?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www. ...

  3. winfrom窗体自适应

    using System.Runtime.InteropServices; public class Win32 { public const Int32 AW_HOR_POSITIVE = 0x00 ...

  4. Codeforces Round #599 (Div. 2) A,B1,B2,C 【待补 D】

    排序+暴力 #include<bits/stdc++.h> using namespace std; #define int long long #define N 1005000 int ...

  5. 牛客小白月赛11 Rinne Loves Edges

    题库链接:https://ac.nowcoder.com/acm/contest/370/F code: #include<bits/stdc++.h> using namespace s ...

  6. 关于pycharm+opencv没有代码提示的问题解决方法记录

    代码可以看出实际我们引入的应该是cv2.cv2下面. 所以我们代码只需要import cv2.cv2 as cv 即可. 记着要重新启动下pycharm哦. 可以参考: https://blog.cs ...

  7. 关于rsa公钥格式的处理,一行纯内容进行换行格式化

    最近在开发百度小程序,他的平台公钥是纯字符串,公钥的内容,没有rsa文件的头(-----BEGIN PUBLIC KEY-----)和尾部分-----END PUBLIC KEY----- 但是 PH ...

  8. 微信浏览器H5开发常见的坑

    ios端兼容input光标高度 问题详情描述: input输入框光标,在安卓手机上显示没有问题,但是在苹果手机上 当点击输入的时候,光标的高度和父盒子的高度一样.例如下图,左图是正常所期待的输入框光标 ...

  9. cesium billboard跨域问题1

    群里小伙伴问道使用billboard加载图片时出现跨域问题,一般认为在服务器端设置 Access-Control-Allow-Origin: * 例如用tomcat发布图片服务,可以这样设置:http ...

  10. Java中的集合Collection

    集合是什么? Java集合类存放于 java.util 包中,是一个用来存放对象的容器. 注意:①.集合只能存放对象.比如你存一个 int 型数据 1放入集合中,其实它是自动转换成 Integer 类 ...