创建秘钥

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

在这里插入图片描述

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐