创建秘钥

1.首先进入Linux系统的用户目录下的.ssh目录下,

root用户是/root/.ssh,普通用户是/home/您的用户名/.ssh,我们以root用户为例:
cd .ssh #如果没有 自己创建 权限700

2.执行ssh-keygen命令创建密钥对

shell ssh-keygen -t rsa -b 2048

#-b 参数,指定了长度,也可以不加-b参数,直接使用ssh-keygen -t rsa,ssh-keygen命令的参数后文再介绍。
执行密钥生成命令,基本上是一路回车既可以了,但是需要注意的是:执行命令的过程中是会提示呢输入密钥的密码的(如下图中红色箭头处,输入两次相同的,即是又一次确认密码),不需要密码直接回车就行。
密钥生成后会在当前目录下多出两个文件,id_rsa和id_rsa.pub,其中id_rsa是私钥(敲黑板:这个很重要,不能外泄),id_rsa.pub这个是公钥

3.创建 authorized_keys 权限为600

vi authorized_keys

4.如果 authorized_keys 已经存在则将 公钥累加到此文件中

cat id_rsa.pub >> authorized_keys

5.修改/etc/ssh/sshd_config配制文件,修改以下内容

RSAAuthentication yes
PubkeyAuthentication yes
PasswordAuthentication no

开放端口

一、背景说明

Centos 系统默认 ssh 连接端口是 22 ,在一些特定的条件中,22 端口被禁用或者被屏蔽,因而无法使用 22 端口进行 ssh 连接,此时把 22 端口映射为其他端口进行 ssh 连接、访问。

二、安装配置

1、查看已经安装的ssh服务

yum list installed | grep ssh

2、安装ssh服务(如果没有ssh服务)

yum install vim openssh-server -y

3、编辑 ssh 的配置文件

sudo vim /etc/ssh/sshd_config
# 打开22 端口
# 新增 2211 端口

4、防火墙开放设置的新端口 2211(如果没有开启防火墙可不执行)

#开启防火墙
systemctl start firewalld
#开启新端口
sudo firewall-cmd --zone=public --add-port=2211/tcp --permanent

5、重启防火墙(如果没有开启防火墙可不执行)

sudo firewall-cmd --reload

6、验证防火墙是否成功开放此端口(如果没有开启防火墙可不执行)

firewall-cmd --zone=public --query-port=2211/tcp

7、安装 policycoreutils-python 依赖包

yum install policycoreutils-python -y

8、安装 SELinux 的管理工具

yum provides semanage

9、查询当前 ssh 服务端口

semanage port -l | grep ssh
ssh_port_t                     tcp      22

10、向 SELinux 中添加 ssh 新端口 2211

semanage port -a -t ssh_port_t -p tcp 2211

11、验证 ssh 新端口 2211 是否添加成功

[root@localhost ~]# semanage port -l | grep ssh
ssh_port_t                     tcp      2211, 22

12、添加成功之后,重启 ssh 服务

systemctl restart sshd.service

本地ssh客户端连接

1.将id_rsa 私钥下载到本地

2.用客户端连接

Linux安全之SSH 密钥创建及密钥登录相关推荐

  1. Linux SSH 密钥创建及密钥登录

    目录 一.创建秘钥 1.首先进入Linux系统的用户目录下的.ssh目录下, 2.执行ssh-keygen命令创建密钥对 3.创建 authorized_keys 权限为600 4.如果 author ...

  2. [linux] redhat 7 ssh 安装配置免密登录

    安装ssh yum install openssh 查看端口 netstat -ntpl netstat -ntpl | grep :22 启动和关闭 service sshd restart/sta ...

  3. linux下生成ssh密钥并获取密钥

    转载自 在linux上生成SSH-key 简单原理介绍+生成步骤 1.首先什么是SSH Secure Shell (SSH) 是一个允许两台电脑之间通过安全的连接进行数据交换的网络协议. 通过加密保证 ...

  4. Linux下使用ssh密钥实现无交互备份

    服务器A(主) 192.168.1.120 服务器B(从) 192.168.1.130 需求:服务器B定期拉取服务器A的数据并备份. 实现方式:    一.备份服务器B安装rsync 1)查看是否安装 ...

  5. linux远程登录 密钥,使用密钥认证机制远程登录Linux

    密钥认证机制 创建存放key的文件 1)创建目录 /root/.ssh 并设置权限 [root@localhost ~]# mkdir /root/.ssh mkdir 命令用来创建目录,以后会详细介 ...

  6. 转载:Openssl生成rsa和椭圆曲线加密公钥密钥创建根ca签名https服务器证书签名...

    转载:Openssl生成rsa和椭圆曲线加密公钥密钥创建根ca签名https服务器证书签名 Openssl生成rsa和椭圆曲线加密公钥密钥创建根ca签名https服务器证书签名 July 20, 20 ...

  7. 密钥创建及SecureCRT\Putty\XShell使用密钥登陆虚拟机

    SecureCRT 一:环境 SecureCRT版本:SecureCRT_5.1.3 linux版本: [root@angelT ~]# cat /etc/redhat-release CentOS  ...

  8. SSH公钥原理(密钥,秘钥,私钥),coding,账户密码,以及一直报错的问题

    理解 本质上就是不同的服务对象,对其他服务对象的访问和权限而已,类比现实生活中人 参考 SSH公钥原理(密钥,秘钥,私钥):https://blog.csdn.net/Dontla/article/d ...

  9. 使用Xshell密钥认证机制远程登录Linux

    1.打开Xshell界面,中文界面方便操作,菜单栏:工具--新建用户密钥生成向导 2.密钥类型选择RSA,密钥长度选择2048位,单击下一步继续: 3.很快生成公钥对,单击下一步继续: 4.密钥名称可 ...

最新文章

  1. C语言的内联函数的作用
  2. stata 导出 相关系数表_Stata: 空间权重矩阵的构建
  3. CSS3 -webkit-transition(属性渐变)
  4. layui table reload post请求_如何实现在Layui框架中完成父窗口刷新(更新)
  5. Java的native方法返回数组return Array(C语言)
  6. beatsx三闪红灯是什么意思_飞机座椅上写的quot;taxiquot; 什么意思?出租车?
  7. [转载] Python学习笔记——用装饰器decorator和Memoization记忆化提高效率,原理讲清楚了
  8. 【三维路径规划】基于matlab RRT算法无人机三维路径规划【含Matlab源码 1363期】
  9. 【常见c语言笔试题嵌入式软件开发1】
  10. 公转对讲融合项目如何实现对接?
  11. 对称密钥与非对称密钥
  12. matlab数缺失值填充,matlab缺失值填补
  13. 【论文泛读08】基于深度时空残差网络的城市人群流动预测
  14. C++ 八股文(一)
  15. Revit二次开发——布管系统设置
  16. NoSQLBooster for MongoDB基本使用步骤
  17. 基于51单片机的扫地小车,扫地机器人设计。 有原理图,程序代码,原文
  18. 【深入kotlin】 - 匿名函数、闭包和接收者
  19. 【剑桥摄影协会】色彩管理之概述
  20. 企业如何正确选择云服务商

热门文章

  1. 第九届“国际信誉品牌”和第二十届“深圳知名品牌”申报指南通知
  2. 关联规则算法(The Apriori algorithm)
  3. python声明全局变量_python怎样声明全局变量
  4. 海思 fw_printenv 和 fw_setenv 工具详解
  5. BeanUtils、BeanCopier、Dozer、Orika 哪个性能最强?
  6. python下编译py成pyc和pyo
  7. win7命令启动计算机管理,Win7系统电脑如何删除Windows启动管理器选项?
  8. freeNAS安装与配置
  9. freenas mysql_FreeNAS简单配置使用
  10. if判断不等于多个值java_if判断语句