一、.我们先建好一上haiwen用户用来,做为密码钥和SSH对像

二、修改vi /etc/ssh/sshd_config 文件,禁用ROOT远程直接登录。

三、ssh的公钥认证配置,只能用密匙才能登录上。

四、生成登陆公钥与私钥

五、用私钥登录

六、为什么要作SSH公钥登录

下面是配置步骤:

1.创建一个用户haiwen,并设置好密码

2.修改vi /etc/ssh/sshd_config 文件

a、修改默认端口:默认Port为22,并且已经注释掉了;修改是把注释去掉,并修改成其它的端口。

b、禁止root用户远程登陆:修改PermitRootLogin,默认为yes且注释掉了;修改是把注释去掉,并改成no。

c、PermitEmptyPasswords   no不允许空密码用户login

3.ssh的公钥认证配置:

修改vi /etc/ssh/sshd_config 文件

RSAAuthentication yes        # 启用 RSA 认证(默认是注释掉的,将注释去掉,如果不是yes,改为yes)

PubkeyAuthentication yes     # 启用公钥认证(默认是注释掉的,将注释去掉,如果不是yes,改为yes)

PasswordAuthentication no    # 禁止密码认证(改为no,默认为yes是用密码认证)

StrictModes no   #修改为no,默认为yes.如果不修改用key登陆是出现server refused our key(如果StrictModes为yes必需保证存放公钥的文件夹的拥有与登陆用户名是相同的.“StrictModes”设置ssh在接收登录请求之前是否检查用户家目录和rhosts文件的权限和所有权。这通常是必要的,因为新手经常会把自己的目录和文件设成任何人都有写权限。)

4.生成公钥和密码匙

a.创建用户家目录里面的一个.ssh文件夹。这个是用来认证密匙的,也是生成公钥和密匙的一个文件夹

再转换用户到haiwen目录下,并生成密匙和公钥,并设置密码要大于4位数字。

这两步是密匙的密码,上面一步是密匙存放文件夹置

Enter passphrase (empty for no passphrase): 输入密码

Enter same passphrase again:再次输入密码

5.生成好了密匙回到ROOT用户下,来配置相关的公钥和相关文件权限。

 

a,现在查看/home/lihaiwen/.ssh多了两个文件

id_rsa  id_rsa.pub

cd /home/111/.ssh

b,然后把id_rsa.pub文件内容存入authorized_keys

cat id_rsa.pub > authorized_keys

c,chmod 644 authorized_keys在赋予644的权限

d,rm -rf id_rsa.pub在删除id_rsa.pub文件

e,

authorized_keys  id_rsa

现在就剩下俩个文件,authorized_keys是公钥 id_rsa是密钥

只需要把密钥考出即可

6,重启SSH服务

7.用FXP软件,把LINUX服务器中的密匙COPY到用要用的客户端上

8.在客户端用ROOT远程是远程不了的了。

9.下面我们用Xshell进行密钥访问:
A,这里选择和设置如下,下面id_rsa就是选中的密匙文件,下面就是密匙密码。
 

B.选项如图设置,我这里服务器IP是192.168.18.150。
 

 
C,登录成功
 
 

 
10,SSH公钥的作用
 
为什么要使用公钥认证
通常,通过ssh登录远程服务器时,使用密码认证,分别输入用户名和密码,两者满足一定规则就可以登录。但是密码认证有以下的缺点:
 
用户无法设置空密码(即使系统允许空密码,也会十分危险) 
密码容易被人偷窥或猜到 
服务器上的一个帐户若要给多人使用,则必须让所有使用者都知道密码,导致密码容易泄露,而且修改密码时必须通知所有人
而使用公钥认证则可以解决上述问题。
 
公钥认证允许使用空密码,省去每次登录都需要输入密码的麻烦 
多个使用者可以通过各自的密钥登录到系统上的同一个用户
公钥认证的原理
所谓的公钥认证,实际上是使用一对加密字符串,一个称为公钥(public key),任何人都可以看到其内容,用于加密;另一个称为密钥(private key),只有拥有者才能看到,用于解密。通过公钥加密过的密文使用密钥可以轻松解密,但根据公钥来猜测密钥却十分困难。
 
ssh 的公钥认证就是使用了这一特性
 

本文出自 “态度决定一切” 博客,请务必保留此出处http://lihaiwen.blog.51cto.com/804093/382274

linux服务器ssh、公匙和密钥实战详解的更多相关文章

  1. Linux使用scp命令进行文件远程拷贝详解

    前言 scp是 secure copy的缩写, scp是Linux系统下基于ssh登陆进行安全的远程文件拷贝命令.Linux的scp命令可以在Linux服务器之间复制文件和目录. 使用语法: scp  ...

  2. 针对远程Git代码库使用SSH公匙

    → 运行Git Bash→ 创建SSH公匙和私匙ssh-keygen -t rsa→ 输入SSH公匙存放文件,选择使用默认的,按Enter→ 如果已经存在,提示是否重写,输入n,按Enter→ 打开C ...

  3. 获得自己电脑的SSH公匙

    关于什么是SSH请点击此"www.Baidu.com”网站了解 我这里只说怎么获取属于自己电脑的SSH公匙 本人是Win10电脑 所以相对来说简单一点  点击win ->选择设置-&g ...

  4. Linux中用postfix搭建邮件服务器实战详解

    Linux中用postfix搭建邮件服务器实战详解 postfix是Wietse Venema在IBM的GPL协议之下开发的MTA(邮件传输代理)软件.Postfix试图更快.更容易管理.更安全,同时 ...

  5. Linux 网络分析必备技能:tcpdump 实战详解

    大家好,我是肖邦,这是我的第 11 篇原创文章. 今天要分享的是 tcpdump,它是 Linux 系统中特别有用的网络工具,通常用于故障诊断.网络分析,功能非常的强大. 相对于其它 Linux 工具 ...

  6. Linux NFS服务器的安装与配置方法(图文详解)

    这篇文章主要介绍了Linux NFS服务器的安装与配置方法(图文详解),需要的朋友可以参考下(http://xb.xcjl0834.com) 一.NFS服务简介 NFS 是Network File S ...

  7. Linux 三剑客之 awk 实战详解教程

    我们知道 Linux 三剑客,它们分别是:grep.sed.awk.在前边已经讲过 grep 和 sed,没看过的同学可以直接点击阅读,今天要分享的是更为强大的 awk. sed 可以实现非交互式的字 ...

  8. C#二次开发BIMFACE系列61 File Management文件管理服务接口二次开发及实战详解

    系列目录     [已更新最新开发文章,点击查看详细] 在我的博客<C#二次开发BIMFACE系列61 File Management文件管理服务接口二次开发及实战详解>最后列出了 Fil ...

  9. 【转】linux之cp/scp命令+scp命令详解

    linux之cp/scp命令+scp命令详解   名称:cp 使用权限:所有使用者 使用方式: cp [options] source dest cp [options] source... dire ...

随机推荐

  1. 什么是Linux主机?

    Linux主机是基于Linux内核的服务器操作系统配置的主机(常见Linux服务器操作系统如:Redhat,CentOS,Debian,FreeBSD,Ubentu等). Linux主机采用国内功能最 ...

  2. dedecms系统后台登陆提示用户名密码不存在

    dedecms最近被曝有非常多的安全漏洞,最近有些用户反应后台管理员账号密码没有修改但无法正常登陆,提示用户名不存在,经研究发现是程序漏洞管理员被直接篡改,解决方案如下. 工具/原料 dedecms ...

  3. [SinGuLaRiTy] 复习模板-图论

    [SinGuLaRiTy-1041] Copyright (c) SinGuLaRiTy 2017. All Rights Reserved. 计算树的直径 //方法:任选一个点作为起点进行一次BFS ...

  4. cuda纹理内存的使用

    CUDA纹理内存的访问速度比全局内存要快,因此处理图像数据时,使用纹理内存是一个提升性能的好方法. 贴一段自己写的简单的实现两幅图像加权和的代码,使用纹理内存实现. 输入:两幅图 lena, moon ...

  5. 你不知道的Javascript:有趣的setTimeout

    你不知道的Javascript:有趣的setTimeout 有时候,小小的细节往往隐藏着大大的智慧今天在回顾JavaScript进阶用法的时候,发现一个有趣的问题,话不多说,先上代码: for(var ...

  6. 小打卡PRD

    目标:打造一款不同于市场上的公开打卡app的产品 理念:通过监督和鼓励,和相同圈子的人一起互相鼓励.分享及监督,共同进步. 优点: 模板消息通知,网上基本通过小程序中逻辑层JS完成推送的请求,小打卡在 ...

  7. Python初识-day1

    1.第一个python程序(在pycharm中运行的,感觉还不错) 注释: 当行注释:#被注释内容 多行注释:'''  被注释内容 ''' 2.变量 (1) 自己理解的定义(仅供参考): 为了存储数据 ...

  8. 常用API

    1 System类 System类包含一些有用的类和字段.它不能被实例化. 属性和方法都是静态的. 1.1 常见方法 返回以毫秒为单位的当前时间 public static long currentT ...

  9. 解决ubuntu系统root用户下Chrome无法启动问题

    由于ubuntu16.04系统自带的是Firefox浏览器,需要安装Chrome浏览器,但是在root用户下安装后发现,Chrome无法正常启动.安装及问题解决具体如下: 1. ubuntu上Chro ...

  10. Nginx+Keepalived负载均衡高可用

    Nginx+Keepalived负载均衡高可用方案: Nginx 使用平台:unix.linux.windows. 功能: A.www web服务  http 80 b.负载均衡(方向代理proxy) ...