玖叶教程网

前端编程开发入门

Linux安全之SSH 密钥创建及密钥登录

#2023度创作挑战#

创建秘钥

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

root用户是/root/.ssh,普通用户是/home/您的用户名/.ssh,我们以root用户为例:

cd .ssh #如果没有 自己创建 权限700

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

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.用客户端连接

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言