limux密钥对配置登陆主机
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公钥生效需满足至少下面两个条件:
- .ssh目录的权限必须是700
- .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密钥对配置登陆主机的更多相关文章
- 使用WampServer环境,如何配置虚拟主机域名
很多人不会配置虚拟主机,我这里简单交一下大家,分三步: 1.在 C:\Windows\System32\drivers\etc 文件夹中的文件 Hosts 文件修改代码为: 127.0.0.1 loc ...
- CentOS 7 配置虚拟主机站点
1.进入/etc/httpd/conf 下 将httpd.conf 打开. 2.将DocumentRoot注释掉.(将ServerName 打开要不会有错误警告). 3.将虚拟主机站点配置包含进来:I ...
- 【转】Apache 配置虚拟主机三种方式
Apache 配置虚拟主机三种方式 原文博客http://www.cnblogs.com/hi-bazinga/archive/2012/04/23/2466605.html 一.基于IP 1. 假 ...
- Wampserver2.5配置虚拟主机出现403 Forbidden的处理方案
WampServer是一款由法国人开发的Apache Web服务器.PHP解释器以 及MySQL数据库的整合软件包.免去了开发人员将时间花费在繁琐的配置环境过程,从而腾出更多精力去做开发.在windo ...
- SharePoint 2013 为站点配置基于主机标头的双域名
SharePoint的应用中,经常需要配置双域名,为不同的认证方式提供访问入口,下面简单介绍下,如何以主机标头的方式为SharePoint配置双域名: 配置基于主机标头的双域名 1.原本可以访问的测试 ...
- apache配置虚拟主机
步骤如下: 1.在配置文件httpd.conf中启用httpd-vhosts.conf 找到# Virtual hosts将Include conf/extra/httpd-vhosts.conf前的 ...
- Wampserver2.5配置虚拟主机出现403 Forbidden解决办法
一直在用APMServ5.2.6,mysql好办,可以用mariadb代替进行升级,但php升级到5.4.7就没办法再升级,安装加速器也困难.就想迁移到Wampserver上来,以前也尝试过Wamps ...
- nginx 配置虚拟主机
文章转载自:http://www.ttlsa.com/html/1571.html 上篇说道我们的nginx是安装在/usr/local/nginx/ cd conf 我们现在把所有的虚拟主机放在一个 ...
- linux环境下配置虚拟主机域名
linux环境下面配置虚拟主机域名 第一步:在root目录下面(即根目录)ls(查看文件)cd进入etc目录find hosts文件vi hosts 打开hosts文件并进行编辑在打开的文件最下面添加 ...
随机推荐
- mysql bit 和 tinyint 的区别及使用场景?
bit类型语法:bit[(M)] : 位字段类型.M表示每个值的位数,范围从1到64.如果M被忽略,默认为1. tinyint是数字类型,存储小数, 一般对应编辑语言里的小字典或枚举类型. 节省空间的 ...
- CodeForces451E Devu and Flowers
题目链接 问题分析 没有想到母函数的做法-- 其实直接看题思路挺简单的.发现如果每种花都有无限多的话,问题变得十分简单,答案就是\(s+n-1\choose n - 1\).然后发现\(n\)只有\( ...
- Unity3D_(游戏)卡牌02_主菜单界面
启动屏界面.主菜单界面.选关界面.游戏界面 卡牌01_启动屏界面 传送门 卡牌02_主菜单界面 传送门 卡牌03_选关界面 传送门 卡牌04_游戏界面 传送门 主菜单界面 (选择左边图标或选 ...
- DVWA--File Inclusion
0x01了解什么叫file inclusion File Inclusion,意思是文件包含(漏洞),是指当服务器开启allow_url_include选项时,就可以通过php的某些特性函数(incl ...
- jQuery Validate 验证成功时的提示信息
大多数时候我们使用validate进行前台验证的时候,都是验证错误的时候给出提示信息,最近在做一个项目的时候,想这验证成功后给出一个验证成功的提示.于是在网上找了一些资料. <!doctype ...
- JAVA-Runnable、Callable、FutureTask
通常,创建线程的执行单元有两种,一种是直接继承 Thread,另外一种就是实现 Runnable 接口. 但这两种都有一个问题就是无法有返回值,且子线程在执行过程中无法抛出异常.想线程有返回值,可以使 ...
- Django admin 设置和定制
models 在 models.py 中定义,每个 model 是一个 class: from django.db import models class PerformanceData(models ...
- leetcode 230二叉搜索树中第k小的元素
通过stack进行中序遍历迭代,timeO(k),spaceO(1) /** * Definition for a binary tree node. * struct TreeNode { * in ...
- kotlin之字符串模板
所谓字符串模板就是在字符串中添加若干个占位符,内容会在后期指定,也就是说,用模板可以设置字符串动态的部分,模板使用美元符号$设置如i=$i 中 的$i就是一个占位符,其中4后面的i是变量,随着i的变化 ...
- 利用开源SlidingMenu框架实现左右侧滑菜单的功能
package com.loaderman.slidingmenudemo; import android.os.Bundle; import android.support.v4.app.Fragm ...