Linux的ssh服务

2023-05-16

Linux中真机与虚拟机的连接

1.先修改虚拟机的IP,在虚拟机中输入命令:nm-connection-editor
在这里插入图片描述
2.选中已存在的System eth0,选择Delete。然后点击Add,出现下面的界面
在这里插入图片描述
3.选择Create,按照要求设置,最后保存。
在这里插入图片描述在这里插入图片描述
4.在真机中打开一个shell,用ssh命令连接虚拟机,测试是否连接成功。
在这里插入图片描述
两台虚拟机的连接同理,不再赘述。

查询IP

1.真机IP的查询命令

ip addr show br0   ##查询真机IP地址

在这里插入图片描述
2. 虚拟机IP的查询命令

ip addr show eth0     ##查询虚拟机IP地址

在这里插入图片描述

sshd简介

sshd=secure shell
可以通过网络在主机中开启sshd服务
客户端软件:sshd
连接方式:
1.ssh Username@ip   文本模式的连接
2.ssh -X Username@ip   可以在连接成功后开启图形
2的说明:通过命令ssh -X root@172.25.254.224连接上服务端,输入firefox打开远程主机的图形界面(并不能在服务端打开firefox界面)
在这里插入图片描述

注意:
1.Username和ip为要连接主机的用户名和ip
2.第一次连接陌生主机时要建立认证文件,所以会询问是否要建立连接,需要输入yes,再次连接此台主机时,因为已经生成~/.ssh/know_hosts文件,所以不需要再次输入yes。
例如:
在这里插入图片描述

修改两台虚拟机名称的命令

hostnamectl set-hostname client.westos.com     ##修改desktop为client
hostnamectl set-hostname server.westos.com      ##修改server为server

sshd的key认证

1.在server端生成认证key

ssh-keygen     ##生成密钥的命令
Enter file in which to save the key(/root/.ssh/id_rsa):   ##指定保存加密字符的文件(使用默认)
Enter passphrase(empty for no passphrase):   ##设定密码(使用空密码)
Enter same passphrase again:   ##确认密码
Your identification has been saved in /root/.ssh/id_rsa.   ##私钥(钥匙)
Your public key has been saved in /root/.ssh/id_rsa.pub.   ##公钥(锁)

在这里插入图片描述
在这里插入图片描述
2.加密服务

ssh-copy-id -i /root/.ssh/id_rsa.pub root@172.25.254.224  ##加密服务,给server上锁

在这里插入图片描述
注意: authorized_keys文件出现表示加密完成。
3.分发钥匙

scp /root/.ssh/id_rsa root@172.25.254.124:/root/.ssh/  ##将钥匙文件发给客户端

在这里插入图片描述
4.测试
在客户端主机中(172.25.254.124)

ssh root@172.25.254.224  ##可以发现连接时直接登陆不需要root登陆密码的认定。

在这里插入图片描述

ssh的安全设定

vim /etc/ssh/sshd_config

78 PasswordAuthentication yes|no  ##是否允许用户通过登陆系统的密码作sshd的认证

1.默认为yes,我们改为no:
在这里插入图片描述
2.重启服务:
在这里插入图片描述
3.通过真机连接server,发现没有输入密码的机会,请求被禁止。
在这里插入图片描述
4.恢复默认值yes

48 PermitRootLogin yes|no   ##是否允许root用户通过sshd服务的认证

1.默认值为yes,我们改为no
在这里插入图片描述
2.重启服务
3.通过真机连接server,发现请求被禁止。
在这里插入图片描述
4.恢复默认值yes

52 AllowUsers  root     ##设定用户白名单,白名单出现默认不在名单中的用户不能使用sshd

1.设置白名单中的用户仅有root
在这里插入图片描述
2.重启服务
3.通过真机连接server,发现除root外的其他用户请求被禁止。
在这里插入图片描述
4.恢复默认

53 DenyUsers alice westos  ##设定黑名单,黑名单出现默认不在名单中的用户可以使用sshd

1.设置黑名单中的用户有alice和westos
在这里插入图片描述
2.重启服务
3.通过真机连接server,发现除westos和alice外的其他用户请求被允许。
在这里插入图片描述
4.恢复默认

添加sshd登陆信息

vim /etc/motd    文件的内容就是登陆后显示的信息。
在这里插入图片描述
在这里插入图片描述

用户的登陆审计

1.w    ##查看正在使用当前系统的用户
w -f    ##查看使用来源
w -i    ##显示IP
这些信息都在/var/run/utmp中
在这里插入图片描述
2.查看使用过并退出的用户信息:last
这些信息都在/var/log/wtmp里
在这里插入图片描述
3.试图登陆但是没有成功的用户:lastb
这些信息都在/var/log/btmp里
在这里插入图片描述
注意: 退出别的主机在自己主机上的进程的方法:
首先,先在自己主机上查看ip
在这里插入图片描述
再通过命令ps aux | grep pts/1 查看他的进程pid
在这里插入图片描述
kill -9 pid,结束他的进程。
在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Linux的ssh服务 的相关文章

  • 执行“minikube start”命令时出现问题

    malik malik minikube start minikube v1 12 0 on Ubuntu 18 04 Using the docker driver based on existing profile Starting c
  • Linux 上的 Pervasive ODBC 错误 [01000][unixODBC][驱动程序管理器]无法打开 lib '/usr/local/psql/lib/odbcci.so':找不到文件

    我正在尝试让 Pervasive v10 客户端 ODBC 在 Centos 6 上运行 据我所知 没有 64 位 ODBC 客户端 因此我必须使用 32 位客户端 我终于成功安装了它 但尝试使用时出现以下错误 isql v mydsn 0
  • C 语言的符号表

    我目前正在开发一种执行模式匹配的静态分析工具 我在用Flex https github com westes flex生成词法分析器 我编写了代码来管理符号表 我不太有经验C 所以我决定将符号表实现为线性链表 include
  • 使用 MAX_ORDER / 包含 mmzone.h

    根据https www kernel org doc Documentation networking packet mmap txt https www kernel org doc Documentation networking pa
  • 使用包管理器时如何管理 Perl 模块?

    A 最近的问题 https stackoverflow com questions 397817 unable to find perl modules in intrepid ibex ubuntu这让我开始思考 在我尝试过的大多数 Li
  • Bash - 在与当前终端分开的另一个终端中启动命令的新实例

    我有一个简单的 bash 脚本 test sh 设置如下 bin bash args if args 0 check capture then watch n 1 ls lag home user capture0 watch n 1 ls
  • 与 pthread 的进程间互斥

    我想使用一个互斥体 它将用于同步对两个不同进程共享的内存中驻留的某些变量的访问 我怎样才能做到这一点 执行该操作的代码示例将非常感激 以下示例演示了 Pthread 进程间互斥体的创建 使用和销毁 将示例推广到多个进程作为读者的练习 inc
  • 静态方法的 Java 内存模型

    我来自操作系统和 C 语言背景 在代码编译时 世界很简单 需要处理和理解堆栈 堆文本部分等 当我开始学习 Java 时 我确实了解 JVM 和垃圾收集器 我对静态方法感到很有趣 根据我的理解 类的所有实例都会在堆中创建 然后被清理 但是 对
  • 配置tomat的server.xml文件并自动生成mod_jk.conf

    我在用apache 2 2 15 and tomcat6 6 0 24 on CentOS 6 4并希望使用 tomcat 服务器的功能 通过添加以下内容自动生成 mod jk conf 文件
  • Intel 上的 gcc 中的 _mm_pause 用法

    我参考过这个网页 https software intel com en us articles benefitting power and performance sleep loops https software intel com
  • Mac OS X 上的 /proc/self/cmdline / GetCommandLine 等效项是什么?

    如何在不使用 argc argv 的情况下访问 Mac OS X 上的命令行 在 Linux 上 我会简单地阅读 proc self cmdline or use GetCommandLine在 Windows 上 但我找不到 Mac OS
  • 使用 python 脚本更改 shell 中的工作目录

    我想实现一个用户态命令 它将采用其参数之一 路径 并将目录更改为该目录 程序完成后 我希望 shell 位于该目录中 所以我想实施cd命令 但需要外部程序 可以在 python 脚本中完成还是我必须编写 bash 包装器 Example t
  • 错误:“rjags”的包或命名空间加载失败

    在终端的 conda 环境之一中 我能够成功安装包 rjags 但是 当我在该环境中运行 R 并运行库 rjags 时 出现以下错误 加载所需的包 coda 错误 rjags 的包或命名空间加载失败 rjags 的 loadNamespac
  • 如何查找哪个 Yocto 项目配方填充图像根文件系统上的特定文件

    我经常与 Yocto 项目合作 一个常见的挑战是确定文件为何 或来自什么配方 包含在 rootfs 中 这有望从构建系统的环境 日志和元数据中得出 理想情况下 一组命令将允许将文件链接回源 即配方 我通常的策略是对元数据执行搜索 例如gre
  • 使用 gdb 调试 Linux 内核模块

    我想知道 API 在内核模块 中返回什么 从几种形式可以知道 这并不是那么简单 我们需要加载符号表来调试内核模块 所以我所做的就是 1 尝试找到内核模块的 text bss和 data段地址 2 在 gdb 中使用 add symbol f
  • 使用自定义堆的类似 malloc 的函数

    如果我希望使用自定义预分配堆构造类似 malloc 的功能 那么 C 中最好的方法是什么 我的具体问题是 我有一个可映射 类似内存 的设备 已将其放入我的地址空间中 但我需要获得一种更灵活的方式来使用该内存来存储将随着时间的推移分配和释放的
  • ansible unarchive 模块如何查找 tar 二进制文件?

    我正在尝试执行一个 ansible 剧本 该剧本的任务是利用unarchive模块 因为我是在 OSX 上执行此操作 所以我需要使用它gnu tar 而不是bsd tar通常与 OSX 一起提供 因为BSD tar 不受官方支持 https
  • 如何在文件中搜索多行模式?

    我需要找到包含特定字符串模式的所有文件 我想到的第一个解决方案是使用find管道与xargs grep find iname py xargs grep e YOUR PATTERN 但是 如果我需要查找跨越多行的模式 我就会陷入困境 因为
  • 来源和出口有什么区别?

    我正在编写一个 shell 脚本 以读取具有 key value 对的文件并将这些变量设置为环境变量 但我有疑问 如果我这样做source file txt是否会将该文件中定义的变量设置为环境变量 或者我应该逐行读取文件并使用导出命令设置它
  • 使用 cron 作业推送到 GitHub - 权限被拒绝(公钥)

    我已经创建了一个 SSH 密钥 如下官方教程 https help github com articles generating ssh keys 00 将其添加到 GitHub 并创建一个 Bash 脚本 用于提交单个文件并将其推送到我在

随机推荐

  • ORACLE扩展表空间

    一 查询表空间使用情况 SELECT UPPER F TABLESPACE NAME 34 表空间名 34 D TOT GROOTTE MB 34 表空间大小 M 34 D TOT GROOTTE MB F TOTAL BYTES 34 已
  • Oracle 常用性能监控SQL语句

    1 查看表锁 SELECT FROM SYS V SQLAREA WHERE DISK READS gt 100 2 监控事例的等待 SELECT EVENT SUM DECODE WAIT TIME 0 0 1 34 Prev 34 SU
  • Nginx出现“ 413 (499 502 404) Request Entity Too Large”错误解决方法

    1 Nginx413错误的排查 修改上传文件大小限制 在使用上传POST一段数据时 xff0c 被提示413 Request Entity Too Large xff0c 应该是nginx限制了上传数据的大小 解决方法就是 打开nginx主
  • 查看弹出广告来自哪个软件

    打开VS的Spy 43 43 将指针移到广告处 xff0c 然后点OK xff0c 在Process标签页可以看到进程id和线程id将获得的16进制进程id xff08 例如 xff1a 000025F8 xff09 通过计算器转成10进制
  • C++多态虚函数实现原理,对象和虚函数表的内存布局

    基本概念 我们知道C 43 43 动态多态是用虚函数实现的 xff0c 而虚函数的实现方式虽说C 43 43 标准没有要求 xff0c 但是基本都是用虚函数表实现的 xff08 编译器决定 xff09 所以我们有必要了解一下虚函数表的实现原
  • C++ STL中递归锁与普通锁的区别

    在多线程编程中 xff0c 保护共享资源的访问很重要 xff0c 为了实现这个目标 xff0c C 43 43 标准库 xff08 STL xff09 中提供了多种锁 xff0c 如std mutex和std recursive mutex
  • VS+Qt开发环境

    VS Qt下载 VS下载 xff1a https visualstudio microsoft com zh hans vs Qt下载安装 xff1a https www bilibili com video BV1gx4y1M7cM VS
  • windows下使用ShiftMediaProject编译调试FFmpeg

    为什么要编译FFmpeg xff1f 定制模块调试源码 windows下编译 推荐项目ShiftMediaProject FFmpeg 平时总是看到一些人说windows下编译FFmpeg很麻烦 xff0c 这时候我就都是微微一笑 xff0
  • RTSP分析

    RTSP使用TCP来发送控制命令 xff08 OPTIONS DESCRIBE SETUP PLAY xff09 xff0c 因为TCP提供可靠有序的数据传输 xff0c 而且TCP还提供错误检测和纠正 RTSP的报文格式可以参考HTTP的
  • RTP分析

    参考 RTP xff08 A Transport Protocol for Real Time Applications 实时传输协议 xff0c rfc3550 xff09 RTP Payload Format for H 264 Vid
  • VS链接器工具错误 LNK2019:无法解析的外部符号

    常见的问题 以下是一些导致 LNK2019 的常见问题 xff1a 未链接的对象文件或包含符号定义的库 在 Visual Studio 中 xff0c 验证包含定义源代码文件是生成 xff0c 分别链接为项目的一部分 在命令行中 xff0c
  • FFmpeg合并视频流与音频流

    mux h ifndef MUX H define MUX H ifdef cplusplus extern 34 C 34 endif include 34 common h 34 include 34 encode h 34 typed
  • 解决电脑同时使用有线网上内网,无线网上外网的冲突

    由于内网有网络限制 xff08 限制娱乐等 xff09 xff0c 所以肯定要用外网 xff08 无线网卡 xff09 但是有的网站只能用内网访问 xff0c 比如gitlab xff0c oa等 我电脑刚开始连接了wifi后上不了gitl
  • Python斗鱼直播间自动发弹幕脚本

    工具 xff1a Python xff0c Chrome浏览器 因为不会用短信验证码登录 xff0c 所以使用QQ帐号登录 xff0c 必须要斗鱼帐号绑定QQ号 难点主要是帧的切换 查找元素可以通过chrome浏览器鼠标指向该元素 xff0
  • Qt+FFmpeg录屏录音

    欢迎加QQ群309798848交流C C 43 43 linux Qt 音视频 OpenCV 源码 xff1a Qt 43 FFmpeg录屏录音 NanaRecorder 之前的录屏项目ScreenCapture存在音视频同步问题 xff0
  • Qt源码分析(一)

    欢迎加QQ群309798848交流C C 43 43 linux Qt 音视频 OpenCV 源码面前 xff0c 了无秘密 阅读源码能帮助我们理解实现原理 xff0c 然后更灵活的运用 接下来我用VS2015调试Qt5 9源码 首先提一下
  • python实现批量提取图片中文字的小工具

    要实现批量提取图片中的文字 xff0c 我们可以使用Python的pytesseract和Pillow库 pytesseract是一个OCR xff08 Optical Character Recognition xff0c 光学字符识别
  • 在虚拟机与wsl中编译内核,并启用kasan

    linux内核编译 虚拟机编译自己的内核WSL编译自己的内核测试kasan 想学习一下kasan的相关配置 xff0c 但kasan是内核中的相关配置 xff0c 开启得编译内核 xff0c 本文使用虚拟机与wsl两种方式来编译内核启动ka
  • mac时间机器删除旧备份

    查 span class token function sudo span tmutil listlocalsnapshots 删除 span class token function sudo span tmutil deleteloca
  • Linux的ssh服务

    Linux中真机与虚拟机的连接 1 先修改虚拟机的IP xff0c 在虚拟机中输入命令 xff1a nm connection editor 2 选中已存在的System eth0 xff0c 选择Delete 然后点击Add xff0c