好久不用,又生疏了。

今晚实操了一下,作一个记录。

使用rsa的密钥对登陆linux服务器,主要是为了安全。

这种证书级别的登陆,比最复杂的root用户名和帐号的安全性都要高一个等级。

至少服务器不会被暴破(暴力破解)。

~~~~~~~~~~~~~~~

参考URL:

https://www.cnblogs.com/JohnABC/p/4001383.html

~~~~~~~~~~~~~~~~

大步骤如下:

一,在一个服务器上,使用ssh-keygen -t rsa命令,产生一对密钥(默认目录为当前用户主目录的.ssh目录下,公钥名为id_rsa.pub,私钥名为id_rsa)。

二,将私钥和公钥都下载下来,保存在自己电脑安全的地方(如果手里有一批同一个项目的机器,不用为每个机器都产生一对密钥,而是直接使用同一对密钥即可,方便管理)。

三,登陆到要设置证书的linux服务器,将公钥传到LINUX服务器,指定用户的~/.ssh/目录下,运行cat id_rsa.pub >> ~/.ssh/authorized_keys,将公钥导入authorized_keys文件中(这个文件才是ssh登陆存放公钥的地方,使用追加的方式,是因为这个文件支持存放多个公钥)。

四,将相应的目录和文件使用chmod命令,赋予正确的权限。(.ssh目录的权限为700,authorized_keys的权限为600)

五,更改/etc/ssh/sshd_config文件,默认的不管,主要注意以下的设置。

#root可账户登录
PermitRootLogin yes

# 是否让 sshd 去检查用户家目录或相关档案的权限数据,
# 这是为了担心使用者将某些重要档案的权限设错,可能会导致一些问题所致。
# 例如使用者的 ~.ssh/ 权限设错时,某些特殊情况下会不许用户登入
StrictModes no

# 是否允许用户自行使用成对的密钥系统进行登入行为,仅针对 version 。
# 至于自制的公钥数据就放置于用户家目录下的 .ssh/authorized_keys 内
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile      %h/.ssh/authorized_keys

#有了证书登录了,就禁用密码登录吧,安全要紧
PasswordAuthentication no

六,更新的sshd的配置文件之后,使用service sshd restart重启sshd服务。

(第三步里,我们已登陆LINUX服务器,给新手的建议是,不要太自信sshd的设置完全正确。在重新sshd服务前,多开两个xshell窗口,万一证书配置不正确,让新连接无法进入,至少,我们还有老的xshell窗口登陆调整设置。)

七,使用xshell等工具,导入私钥证书,用于服务器登陆。

rsa证书ssh登陆服务器的更多相关文章

  1. ssh登陆服务器locale告警(-bash: warning: setlocale:)的处理方法

    使用ssh远程登陆 IDC机房服务器,发现老是出现如下告警信息: -bash: warning: setlocale: LC_CTYPE: cannot change locale (en_US.UT ...

  2. 拒绝恶意同构ssh登陆服务器脚本

    #!/bin/bash #Deny specified IP access #IP:who is fail to login sever SECURE_LOG=/var/log/secure #通过s ...

  3. ssh 登陆服务器原理

    这里分两种情况,这两种情况都涉及到公钥加密的概念. 由于公钥加密概念作为基础就不在本文进行讨论了. 使用ssh对远程服务器进行密码登录发生了什么: 客户端通过ssh连接服务器 1. 首先服务器把自己的 ...

  4. SSH登陆服务器的简单命令

    SSh 用户名@目标Ip: 回车输入密码:

  5. SecureCRT 密钥生成 SSH 使用密钥登陆 服务器

    1.首先“Tool”-“Create Public Key” 2. 选择RSA 模式 4. 创建短语密码 5. 密钥长度为1024 6. 选择标准的 key  , 下面是生成的路径 二 . 配置 SS ...

  6. ssh登陆linux服务器 实际场景讲解 让你管理服务器更安全

    很多时候我们管理linux系统,都谁使用ssh登陆,因为都知道ssh是加密传输的协议的,可以有效保证我们与 服务器之间的数据通信安全.但是我们忽略了一点,但是登陆的时候我们是输入的账号和密码,这一点其 ...

  7. 服务器之间免密码ssh登陆

    配置服务器f1(192.168.1.1)与服务器f2(192.168.1.2)之间免密码ssh登陆 一.首先,配置服务器主机名为f1.f2 1.更改/etc/sysconfig下的network文件, ...

  8. ssh key 免密码登陆服务器,批量分发管理以及挂载远程目录的sshfs

    ssh key 免密码登陆服务器,批量分发管理以及挂载远程目录的sshfs 第一部分:使用ssh key 实现服务器间的免密码交互登陆 步骤1: 安装openssh-clients [root@001 ...

  9. 通过ssh实现远程登陆服务器!

    通过ssh实现远程登陆前提是服务器已经开启ssh服务,至于怎么开启,可以参看上一篇“Linux服务器开启ssh服务,实现ssh远程登陆!”! 使用ssh登陆时,输入主机(linux的ip地址),账号, ...

随机推荐

  1. python进程.线程和协程的总结

    I.进程: II.多线程threading总结 threading用于提供线程相关的操作,线程是应用系统中工作的最小单位(cpu调用的最小单位). Python当前版本的多线程没有实现优先级,线程组, ...

  2. NandFlash和iNand【转】

    转自:https://www.cnblogs.com/PengfeiSong/p/6380447.html nand 1.nand的单元组织:block与page(大页Nand与小页Nand)(1)N ...

  3. JavaScript中的this -- 好像很有道理版

    函数调用 首先需要从函数的调用开始讲起. JS(ES5)里面有三种函数调用形式: func(p1, p2) obj.child.method(p1, p2) func.call(context, p1 ...

  4. JS中的!=、== 、!==、===的用法和区别

    var num = 1; var str = '1'; var test = 1; test == num //true 相同类型 相同值 test === num //true 相同类型 相同值 t ...

  5. python 创建二维数组

    myList = [([0] * 3) for i in range(4)] myList[0][1] = 1 myList[1].append(2) print myList /usr/bin/py ...

  6. nginx或者squid正向代理实现受限网站的访问

    项目背景:公司商务同事需要操作合作方的后台,但是这个后台做了限制(安全考虑只对指定IP放行),刚好公司是adsl拨号,经常更换IP 需求:让商务同事不要经常给IP到合作方去添加白名单 于是想到了做正向 ...

  7. 抢红包时用到的redis函数

    2018-2-8 10:25:11 星期四 抢红包时经常会用redis(等其他nosql)的原子性函数去限流, 防止抢超, 下边列出一些主要的原子性函数 限制每个人只能抢一次 getSet(): 设置 ...

  8. php password_hash

    2018-1-6 17:22:13 星期六 php 自带的密码生成方法, 如果生成密码最好使用这个, 这个是"单程"的, 没有解密函数 $a = '123456'; $b = pa ...

  9. 转载:HBuilder常用快捷键

    原文:http://www.cnblogs.com/DCL1314/p/8625110.html HBuilder常用快捷键 1.文件 新建 Ctrl + N 关闭 Ctrl + F4 全部关闭 Ct ...

  10. useful tips for python

    import module; help(module.function) import module; help(module.class)