Linux Unit8

news/2024/7/5 19:37:11

openssh-serve

1.openssh-server
功能:让远程主机可以通过网络访问sshd服务,开始一个安全shell
注意:
【1】为了便于识别两个虚拟机,现将两台虚拟机中行提示符里面的主机名进行修改。desktop虚拟机主机名设置为client,server虚拟机主机名设置为server。
这里写图片描述
这里写图片描述
(设置完名字后需要重回新打开一个新的shell,才能显示更改的名字)
【2】在两台虚拟机上均执行删除/root/.ssh/命令
【3】在两台虚拟机上均执行修改ip即nm-connection-editor命令
(修改ip方法的详细过程可查看博客Linux Unit6)

2.客户端连接方式
ssh 远程主机用户@远程主机ip
[root@desktop0 ~]# ssh root@172.25.0.11
The authenticity of host ‘172.25.0.11 (172.25.0.11)’ can’t be established.
ECDSA key fingerprint is eb:24:0e:07:96:26:b1:04:c2:37:0c:78:2d:bc:b0:08.
Are you sure you want to continue connecting (yes/no)? yes –> 连接陌生主机时需要建立认证关系
Warning: Permanently added ‘172.25.0.11’ (ECDSA) to the list of known hosts.
root@172.25.0.11’s password: –> 远程用户密码
Last login: Mon Oct 3 03:13:47 2016
[root@server0 ~]# –> 登陆成功 (172.25.10.11为服务主机的ip)
客户端连接到服务主机之后,我们可以在服务主机使用w -f查看,发现IP为172.25.10.10的主机连接上了
这里写图片描述
ssh 远程主机用户@远程主机ip -X –> 调用远程主机图形工具
这里写图片描述
(客户主机通过ssh 远程主机用户@远程主机ip -X打开服务主机的gedit,服务主机通过w -f可查看到客户主机连接该机并执行gedit)
ssh 远程主机用户@远程主机ip command –> 直接在远程主机运行某条命令
这里写图片描述
这里写图片描述

3.sshkey加密
【1】生成公钥私钥
[root@server0 ~]# ssh-keygen –> 生成公钥私钥工具
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):[enter] –> 加密字符保存文件(建议用默认)
Created directory ‘/root/.ssh’.
Enter passphrase (empty for no passphrase): [enter] –> 密钥密码,必须>4个字符
Enter same passphrase again: [enter] –> 确认密码
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
ab:3c:73:2e:c8:0b:75:c8:39:3a:46:a2:22:34:84:81 root@server0.example.com
The key’s randomart image is:
+–[ RSA 2048]—-+
|o |
|E. |
|.. |
|. . o |
|.o. * . S |
|oo.o o . |
|+ =. . . |
|o. oo.+.. |
| ..o*. |
+—————–+
这里写图片描述
[root@server0 ~]# ls /root/.ssh/
id_rsa id_rsa.pub
id_rsa –> 私钥,就是钥匙
id_rsa.pub –> 公钥,就是锁
这里写图片描述
【2】添加key认证方式
[root@server0 ~]# ssh-copy-id -i /root/.ssh/id_rsa.pub root@172.25.0.11
ssh-copy-id –> 添加key认证方式的工具
-i –> 指定加密key文件
/root/.ssh/id_rsa.pub –> 加密key
root –> 加密用户为root
172.25.0.11 –> 被加密主机ip
生成公钥私钥后,需要添加key认证方式,也就是给服务主机上锁。
认证成功,就会发现/root/.ssh/目录下面会多两个文件。
这里写图片描述
【3】分发钥匙给client主机
[root@server0 ~]# scp /root/.ssh/id_rsa root@172.25.0.10:/root/.ssh/
这里写图片描述
服务主机给客户主机分发钥匙后,在客户主机上的/root/.ssh/目录下就会多出两个文件
这里写图片描述
【4】测试
[root@desktop0 ~]# ssh root@172.25.0.11 –> 通过id_rsa直接连接不需要输入用户密码
Last login: Mon Oct 3 03:58:10 2016 from 172.25.0.250
[root@server0 ~]#
这里写图片描述

4.提升openssh的安全级别
【1】openssh-server配置文件
/etc/ssh/sshd_config
78 PasswordAuthentication yes|no –> 是否开启用户密码认证,yes为支持no为关闭
把yes改为no,然后测试。进行该测试之前先把客户主机上的钥匙文件删掉,这样客户主机连接服务主机就需要输入密码,结果发现无法连接(做完测试记得把钥匙文件再发送给客户主机)
这里写图片描述
这里写图片描述
这里写图片描述
48 PermitRootLogin yes|no –> 是否允许超级用户登陆
这里写图片描述
进行测试:
这里写图片描述
49 AllowUsers student westos –> 用户白名单,只有在名单中出现的用户可以使用sshd建立shell
50 DenyUsers westos –> 用户黑名单
这里写图片描述
注意:白名单与黑名单的设置必须与78及48行的设置内容一致
进行测试:
这里写图片描述
注意:因为vim命令更改了配置文件,所以就需要重新加载文件,因此更改之后就要重启服务,这样更改的内容才能生效。
这里写图片描述
【2】控制ssh客户端访问
vim /etc/hosts.deny
sshd:ALL –> 拒绝所有人链接sshd服务
这里写图片描述
vim /etc/hosts.allow
sshd:172.25.254.250 –> 允许250主机链接sshd
sshd:172.25.254.250, 172.25.254.180 –> 允许250和180链接
sshd:ALL EXCEPT 172.25.254.200 –> 只不允许200链接sshd
这里写图片描述
【3】ssh登陆提示修改
vim /etc/motd –> 显示登陆后字符
这里写图片描述
have a nice day ! –> 在登陆后就会显示这个字符
这里写图片描述


http://www.niftyadmin.cn/n/4638853.html

相关文章

Docker run 命令详解

命令格式:docker run [OPTIONS] IMAGE [COMMAND] [ARG…] Usage: Run a command in a new container 中文意思为:通过run命令创建一个新的容器(container) 常用选项说明-d, --detachfalse, 指定容器运行于前台还是后台…

Phoenix -修复表索引

索引的修复可以通过2种方式,(关于pehoenix的索引的生命周期可以参考 https://community.hortonworks.com/articles/58818/phoenix-index-lifecycle.html 一 手工执行修复命令 依赖phoenix的自动修复命令自动修复 Phoenix 对于索引状态异常的情况&#x…

《悟透JavaScript》(1)

引子编程世界里只存在两种基本元素,一个是数据,一个是代码。编程世界就是在数据和代码千丝万缕的纠缠中呈现出无限的生机和活力。数据天生就是文静的,总想保持自己固有的本色;而代码却天生活泼,总想改变这个世界。你看…

Docker容器centos、unbuntu 无法使用 systemctl 命令

报错内容: System has not been booted with systemd as init system (PID 1). Cant operate.Failed to connect to bus: Host is down意思是 : 1号进程不是 init ,而是其他例如 /bin/bash ,所以导致缺少相关文件无法运行。 解决…

什么是PXE?

PXE(preboot execute environment,预启动执行环境)是由Intel公司开发的最新技术,工作于Client/Server的网络模式,支持工作站通过网络从远端服务器下载映像,并由此支持通过网络启动操作系统,在启动过程中,终…

.sh 编写

2019独角兽企业重金招聘Python工程师标准>>> 1.常用符号 ./run.sh abc def //$0 是./run.sh 这个字符 echo hello $0 $1 $2 // $1 取出abc 的值 ,$2 ,取出第二个参数 $# // 参数的个数 $ // 第0个后面所有的参数 $1 // $n 第一个或者n个参数 $? // 上次命令执行命令…

什么是esxi?

ESXi 专为运行虚拟机、最大限度降低配置要求和简化部署而设计。只需几分钟时间,客户便可完成从安装到运行虚拟机的全过程,特别是在下载并安装预配置虚拟设备的时候。 安装设置 在服务器上安装ESXi主机,vSphere提供了几种方法:交互式、脚本、…

DVWA之SQL Injection/SQL Injection(Blind)

SQL Injection SQL语句基本知识 由于常见的注入类型为数字型和字符型(根据查询的字段值有无引号决定的) 可通过a’ or 1 1#或者a or 1 1#(a表示正确输入的值,#为注释)来判断注入类型。 若为数字型sql注入,前者报错或查询不到数据、后者可能查询到所有结…