每次登录服务器都要输入密码,这点比较麻烦。使用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. 7月新的开始 - Axure学习01 - 元件库、元件交互样式设置

    解释: Axure 属于原型制作里的霸道总裁 1.原型:原型模拟真实产品的功能与设计.用于在初期阶段测试产品的可行性与效果.来节省开发成本与周期. 2.线框图:在初期实现对产品的了解.实现产品的基本结 ...

  2. RNN(二)——基于tensorflow的LSTM的实现

    lstm的前向结构,不迭代 最基本的lstm结构.不涉及损失值和bp过程 import tensorflow as tf import numpy as np inputs = tf.placehol ...

  3. 线段树QWQ

    一直没碰过线段树,个人认为好长好难,不过这几天做题遇到了裸的线段树的题,TAT. 线段树我理解就是把二叉树的左右节点现在分别看成是两个区间. 那么现在这两个区间的端点怎么存放?怎么能够把这个区间里的数 ...

  4. ansible-cmdb 解析(ansible all -m setup )收集过来的信息并以html方式显示。

    首先安装 ansible-cmdb 直接pip install ansible-cmdb 安装 然后执行收集信息命令 ansible all -m setup >/tmp/out/ 修改下ans ...

  5. springboot的jar在linux运行

    springboot项目使用maven打包成jar包,如何在linux优雅部署?平时启动项目使用java -jar命令,关闭程序需要查询pid再查杀进程,这样都太麻烦了,今天发现一个博客已经写好的脚本 ...

  6. php-fpm脚本

    #! /bin/sh ### BEGIN INIT INFO # Provides: php-fpm # Required-Start: $remote_fs $network # Required- ...

  7. 手游折扣app票选结果公布哪个好哪个靠谱一目了然

    2018年,是中国改革开放40年,也是中国互联网20年.“互联网推动了精神文明向更高水平的迈进,实现人的价值第一,创造美好生活,从生产高于生活.艺术高于成活,转向发现与实现生活本身美好,让想象成真.如 ...

  8. centos7的网络配置参考

    <鸟哥的Linux私房菜>中的相关介绍和配置:http://linux.vbird.org/linux_basic/0610hardware.php 修改链接(connection)的名字 ...

  9. pwn学习日记Day14 《程序员的自我修养》读书笔记

    目标文件:计算机科学中存放目标代码的计算机文件,包含着机器代码,代码在运行时使用的数据,调试信息等,是从源代码文件产生程序文件这一过程的中间产物. 目标代码(objectcode)指计算机科学中编译器 ...

  10. arcpy.UpdateCursor和arcpy.da.UpdateCursor计算面积时间的比较

    arcpy.UpdateCursor ####################### import arcpy from arcpy import env import os import sys f ...