1. Linux主机免密码使用密钥登陆

这里假设主机A(192.168.0.113)用来远程连接主机B(192.168.0.186)

在主机A上执行如下命令来生成配对密钥:ssh-keygen -t rsa -b 3072

-t参数指定加密算法为rsa,-b参数指定密钥长度,可以是1024、2048、3072等等,位数越长,被暴力破解所需的时间越久

遇到提示回车默认即可,公钥被存到用户目录下.ssh目录,比如root存放在:/root/.ssh/id_rsa.pub

.ssh 目录中的 id_rsa.pub 文件传输到主机B

在主机A中执行如下命令和主机B建立信任,例(假设主机B的IP为:192.168.0.186):

ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.0.186

如上命令的实际效果是在主机B的/root/.ssh/的目录下新建一个authorized_keys文件,其内容就是主机A的id_rsa.pub内容

下面就可以用scp、ssh命令不需要密码来远程连接主机B了

ssh root@192.168.0.186 回车就不需要密码了。

如果机器B需要添加多个机器的公钥,则需要在authorized_keys中追加公钥内容,命令如下:

在其他机器上把公钥文件发送给主机B,然后在主机B上执行如下命令

cat id_rsa.pub >> /root/.ssh/authorized_keys

id_rsa : 生成的私钥文件

id_rsa.pub : 生成的公钥文件

know_hosts : 已知的主机公钥清单

如果希望ssh公钥生效需满足至少下面两个条件:

  1. .ssh目录的权限必须是700
  2. .ssh/authorized_keys文件权限必须是600

1.1 主机B取消密码登陆

# vim /etc/ssh/sshd_config
PasswordAuthentication no //yes改为no
ChallengeResponseAuthentication no //yes改为no RSAAuthentication yes //去掉前面的注释
PubkeyAuthentication yes //去掉前面的注释
AuthorizedKeysFile .ssh/authorized_keys //去掉前面的注释

改完后重启sshd就OK了,在这里要注意,一定要先测试密钥是不是能登录,成功后在禁止密码登录,不然很容易把自己墙外面

2. linux ssh密钥登录和取消密钥登录

# 取消密钥登录
#PubkeyAuthentication yes 把yes改为no
PubkeyAuthentication no # 取消密钥登录只需要把no改成yes
PasswordAuthentication yes # 重启sshd服务
systemctl restart sshd.service

3. 使用密钥方式登陆Linux主机

这里以主机B为例,使用SecureCRT 8.5远程连接软件

先使用密码的方式登陆主机B

执行如下命令来生成配对密钥:ssh-keygen -t rsa -b 3072

然后,在主机B上安装公钥:

cd /root/.ssh
cat id_rsa.pub >> authorized_keys

为了确保连接成功,请保证以下文件权限正确:

chmod 600 authorized_keys
chmod 700 ~/.ssh

编辑 /etc/ssh/sshd_config 文件,进行如下设置:

PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys

留意 root 用户能否通过 SSH 登录: PermitRootLogin yes

重启 SSH 服务:service sshd restart

然后把id_rsa.pub公钥文件下载到本地,打开SecureCRT软件,在Authentication一栏选中PublicKey,

输入主机IP,用户名,选中下载的公钥文件,然后连接登陆。

以密钥方式登录成功后,再禁用密码登录: PasswordAuthentication no

limux密钥对配置登陆主机的更多相关文章

  1. 使用WampServer环境,如何配置虚拟主机域名

    很多人不会配置虚拟主机,我这里简单交一下大家,分三步: 1.在 C:\Windows\System32\drivers\etc 文件夹中的文件 Hosts 文件修改代码为: 127.0.0.1 loc ...

  2. CentOS 7 配置虚拟主机站点

    1.进入/etc/httpd/conf 下 将httpd.conf 打开. 2.将DocumentRoot注释掉.(将ServerName 打开要不会有错误警告). 3.将虚拟主机站点配置包含进来:I ...

  3. 【转】Apache 配置虚拟主机三种方式

    Apache 配置虚拟主机三种方式  原文博客http://www.cnblogs.com/hi-bazinga/archive/2012/04/23/2466605.html 一.基于IP 1. 假 ...

  4. Wampserver2.5配置虚拟主机出现403 Forbidden的处理方案

    WampServer是一款由法国人开发的Apache Web服务器.PHP解释器以 及MySQL数据库的整合软件包.免去了开发人员将时间花费在繁琐的配置环境过程,从而腾出更多精力去做开发.在windo ...

  5. SharePoint 2013 为站点配置基于主机标头的双域名

    SharePoint的应用中,经常需要配置双域名,为不同的认证方式提供访问入口,下面简单介绍下,如何以主机标头的方式为SharePoint配置双域名: 配置基于主机标头的双域名 1.原本可以访问的测试 ...

  6. apache配置虚拟主机

    步骤如下: 1.在配置文件httpd.conf中启用httpd-vhosts.conf 找到# Virtual hosts将Include conf/extra/httpd-vhosts.conf前的 ...

  7. Wampserver2.5配置虚拟主机出现403 Forbidden解决办法

    一直在用APMServ5.2.6,mysql好办,可以用mariadb代替进行升级,但php升级到5.4.7就没办法再升级,安装加速器也困难.就想迁移到Wampserver上来,以前也尝试过Wamps ...

  8. nginx 配置虚拟主机

    文章转载自:http://www.ttlsa.com/html/1571.html 上篇说道我们的nginx是安装在/usr/local/nginx/ cd conf 我们现在把所有的虚拟主机放在一个 ...

  9. linux环境下配置虚拟主机域名

    linux环境下面配置虚拟主机域名 第一步:在root目录下面(即根目录)ls(查看文件)cd进入etc目录find hosts文件vi hosts 打开hosts文件并进行编辑在打开的文件最下面添加 ...

随机推荐

  1. js获取页面的各种高度与宽度

    document.body.scrollTop等属性可以获取页面滚动距离等,但是此类属性在xhtml标准网页或者更简单的说是带<!DOCTYPE ..>标签的页面里得到的结果是0, 所以一 ...

  2. Spring4 MVC json问题(406 Not Acceptable)

    最近使用spring4.0的Mvc,json请求时,客户端报错,406 Not Acceptable 解决方法: 1.导入第三方的fastjson包,fastjson-1.1.34.jar 2.Spr ...

  3. docker-compose常用命令(持续更新...)

    build 构建或重建服务 help 命令帮助 kill 杀掉容器 logs 显示容器的输出内容 port 打印绑定的开放端口 ps 显示容器 pull 拉取服务镜像 restart 重启服务 rm ...

  4. 【转】Java压缩和解压文件工具类ZipUtil

    特别提示:本人博客部分有参考网络其他博客,但均是本人亲手编写过并验证通过.如发现博客有错误,请及时提出以免误导其他人,谢谢!欢迎转载,但记得标明文章出处:http://www.cnblogs.com/ ...

  5. 第三周课程总结&实验报告

    课程总结 在这周对Java进行了更深层次的学习,Java的学习也变得越来越困难而有趣,加入了一些新的构造新的方法,还学习了一些简化代码的方式. 面向对象的基本概念 对于面向对象的程序设计有三个主要特征 ...

  6. Oracle 数据完整性与约束机制

    为了维护数据库数据的完整性,在创建表时需要定义一些约束,Oracle中的约束类型包括:非空约束.主键约束.唯一约束.外键约束等.在对约束操作前,我们可以通过表名查询它具有的约束信息. 表约束 SELE ...

  7. java栈和队列

    栈    可变长数组实现    链表实现    数组与链表的对比队列    链表实现 栈 下压栈(简称栈)是一种基于后进后出(LIFO)策略的集合类型.这里学习分别用数组和链表这两种基础数据结构来实现 ...

  8. shell script operate the date

    How to increment a date in a bash script Use the date command's ability to add days to existing date ...

  9. oracle性能诊断排查

    https://blog.csdn.net/qq_30553235/article/details/78809872 查看oracle用户权限: 1.查看不同用户的连接数 select usernam ...

  10. [论文理解] Receptive Field Block Net for Accurate and Fast Object Detection

    Receptive Field Block Net for Accurate and Fast Object Detection 简介 本文在SSD基础上提出了RFB Module,利用神经科学的先验 ...