Linux配置SSH远程登录管理

2023-05-16

目录

一、SSH协议

1.SSH简介

2.SSH的优点

3.SSH远程控制软件及服务

二、SSH远程管理配置

1.配置OpenSSH服务端

2.使用SSH客户端软件

(1)SSH远程登录

(2)scp远程传输文件

3.SSH登录验证的两种验证方式

(1)密码验证

(2)密钥对验证


一、SSH协议

1.SSH简介

        SSH 为 Secure Shell的缩写, 为建立在应用层基础上的安全协议。SSH 是较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。

2.SSH的优点

  • 数据加密
  • 数据压缩(提高传输速率)

        传统的网络服务程序,如:ftp、pop和telnet在本质上都是不安全的,因为它们在网络上用明文传送口令和数据,别有用心的人非常容易就可以截获这些口令和数据。而且,这些服务程序的安全验证方式也是有其弱点的, 就是很容易受到“中间人”这种方式的攻击。

        通过使用SSH,你可以把所有传输的数据进行加密,这样"中间人"这种攻击方式就不可能实现了,而且也能够防止DNS欺骗和IP欺骗。

        使用SSH,还有一个额外的好处就是传输的数据是经过压缩的,所以可以加快传输的速度。SSH有很多功能,它既可以代替telnet,又可以为ftp、PoP、甚至为PPP提供一个安全的"通道"

3.SSH远程控制软件及服务

SSH客户端:Putty、Xshell、CRT、MobaXterm

用于远程连接主机的软件,企业一般使用Putty这类开源软件。

SSH服务端: OpenSSH

OpenSSH是实现 SSH协议的开源软件项目,适用于各种UNIX、Linux操作系统。Centos 7系统默认已安装openssh相关软件包,并已将sshd 服务添加为开机自启动。

sshd服务

sshd服务默认使用的是TCP的22端口。

sshd服务的默认配置文件在/etc/ssh下,ssh_config是针对客户端的配置,sshd_config是针对服务端的配置。

二、SSH远程管理配置

1.配置OpenSSH服务端

服务端配置文件sshd_config常用字段及解释

字段解释
Port 22

监听端口(默认22)

ListenAddress 0.0.0.0监听ipv4地址网段(默认全网段)
LoginGraceTime 2m登录验证超时时间 2分钟
PermitRootLogin no禁止root用户登录
MaxAuthTries 6最大重试次数 6次
MaxSessions 10最大支持会话数量 10个
PermitEmptyPasswords no禁止空密码用户登录
UseDNS no禁用DNS反向解析(提高服务器响应速度)

AllowUsers 用户1 用户2...

DenyUsers 用户1 用户2...

允许或禁止某用户登录(多个用户用空格隔开)

注:这两条字段选其一,不能同时使用

上一条用户名后加上@12.0.0.1与上一条实现允许或禁止用户只能在指定ip的主机上登录

2.使用SSH客户端软件

(1)SSH远程登录

[root@localhost1 ~]# ssh [-p 端口号] [用户名@]服务端ip         // 远程登录指定服务端

-p 指定远程登录的端口,不写默认使用22端口

ip前加上"用户名@"指定登录的用户,不写默认使用当前用户

[root@localhost2 ~]# exit            //使用exit命令退出登录

//使用root用户登录192.168.116.20主机
[root@localhost1 ~]#ssh -p 22 root@192.168.116.20
The authenticity of host '192.168.116.20 (192.168.116.20)' can't be established.
ECDSA key fingerprint is SHA256:BhhxtVT0Hy+tIQ4bMqAvyKJUBldEolUbURl/42FYg4o.
ECDSA key fingerprint is MD5:a0:5b:4f:33:31:ef:38:01:31:3b:b4:14:ad:a1:23:29.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.116.20' (ECDSA) to the list of known hosts.
root@192.168.116.20's password: 
Last login: Tue Aug 16 09:09:20 2022
'abrt-cli status' timed out

//登录成功
[root@localhost2 ~]#

//退出登录
[root@localhost2 ~]#exit
登出
Connection to 192.168.116.20 closed.

//回到本机
[root@localhost1 ~]#

注:当用户第一次登录ssh服务器时,必须接受服务器发来的ECDSA密钥(根据提示输入"yes")后才能继续验证。接收的密钥信息将保存到~/. ssh/know_hosts文件中。密码验证成功以后,即可登录目标服务器的命令行环境中。

//刚刚登录时收到的密钥
[root@localhost1 ~]#cat .ssh/known_hosts 
192.168.116.20 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBCBhY9r8mXXzHMu2IMqVnvgW99vU8Xnio3MpUrkYwbrzfzXG37IiWriziEwIMm5c8XlS+q/iIj8Cdm+drMB6REk=

(2)scp远程传输文件

上传文件(客户端传到服务端)

[root@localhost1 test]# scp [-P 端口号] 文件名 [用户名@]服务端ip:上传到的目录

-P 指定远程登录的端口,不写默认使用22端口

-r 目录 递归传输目录

ip前加上"用户名@"指定登录的用户,不写默认使用当前用户

//首先创建文件夹用于scp上传
[root@localhost1 /]#mkdir -p /data/test
[root@localhost1 /]#cd /data/test/
[root@localhost1 test]#touch 1.txt

//使用root用户scp递归将/data目录上传到服务端的/root目录下
[root@localhost1 test]#scp -P 22 -r /data root@192.168.116.20:/root
root@192.168.116.20's password: 
1.txt                                    100%    0     0.0KB/s   00:00    

//进入服务机,发现家目录多了data目录
[root@localhost2 ~]#ls
anaconda-ks.cfg  initial-setup-ks.cfg  模板  图片  下载  桌面
data             公共                  视频  文档  音乐


//查看这个data目录,确认是scp上传过来的
[root@localhost2 ~]#cd data
[root@localhost2 data]#tree
.
└── test
    └── 1.txt

1 directory, 1 file

下载文件(从服务端下载到客户端) 

[root@localhost1 test]# scp [-P 端口号] [用户名@]服务端ip:文件路径 保存到本地的路径

-P 指定远程登录的端口,不写默认使用22端口

-r 目录 递归传输目录

ip前加上"用户名@"指定登录的用户,不写默认使用当前用户

//在服务端新建测试文件
[root@localhost2 ~]#touch test.txt
[root@localhost2 ~]#ls
anaconda-ks.cfg       test.txt  模板  图片  下载  桌面
initial-setup-ks.cfg  公共      视频  文档  音乐

//以root用户scp远程下载服务端的test.txt到/data目录下
[root@localhost1 ~]#scp -P 22 root@192.168.116.20:/root/test.txt /data
root@192.168.116.20's password: 
test.txt                                      100%    0     0.0KB/s   00:00    

//查看发现获取成功
[root@localhost1 ~]#ls /data
test.txt

3.SSH登录验证的两种验证方式

(1)密码验证

对服务器中本地系统用户的登录名称、密码进行验证。简便,但可能会被暴力破解

        默认情况下,远程连接都是使用的密码验证,即需要输入登录用户的密码。

(2)密钥对验证

要求提供相匹配的密钥信息才能通过验证。通常先在客户端中创建一对密钥文件(公钥、私钥),然后将公钥文件放到服务器中的指定位置。远程登录时,系统将使用公钥、私钥进行加密/解密关联验证。能增强安全性,且可以免交互登录。

公钥和私钥的关系:

  • 公钥和私钥是成对生成的,这两个密钥互不相同,可以互相加密和解密。
  • 不能根据一个密钥来推算出另一个密钥(非对称密钥)。
  • 公钥对外公开,私钥只有私钥的持有人才知道。

SSH密钥对验证过程:

配置使用密钥对验证登录

1.生成密钥对

[root@localhost1 ~]#ssh-keygen  [-t 加密算法]   //生成密钥对

-t  指定加密算法(rsa、dsa、ecdsa等)

//生成密钥对(使用dsa加密算法)
[root@localhost1 ~]#ssh-keygen -t dsa
Generating public/private dsa key pair.
Enter file in which to save the key (/root/.ssh/id_dsa):    --指定密钥对文件位置(默认当前用户家目录的.ssh/下)
Enter passphrase (empty for no passphrase):    --是否给密钥对设置密码(为空则不指定)
Enter same passphrase again:      --指定后需要重输密码校验
Your identification has been saved in /root/.ssh/id_dsa.   --私钥位置
Your public key has been saved in /root/.ssh/id_dsa.pub.   --公钥位置
The key fingerprint is:
SHA256:vjGR6YAff/Nah7t+m1Ou6C0YWcrvUZaZ0tRQ5tpGVdg root@localhost1
The key's randomart image is:
+---[DSA 1024]----+
|              .+*|
|              .=E|
|              . +|
|     .   o  .o B |
|    . o S. +. O o|
|     . * .=  = ..|
|      . * o++ .o |
|         =.+o*o..|
|        . .=O+=+ |
+----[SHA256]-----+

[root@localhost1 ~]#ls .ssh/
id_dsa  id_dsa.pub  known_hosts

2.1将公钥发送给服务器(手动)

//查看公钥文件
[root@localhost1 ~]#cat .ssh/id_dsa.pub  
ssh-dss AAAAB3NzaC1kc3MAAACBAI9yxdO7V/W/ATYiSoKz4MbWZDRpE902lBpH0i5dmghNwWAxqV0DRMjetyvUc+R466NdXmp7N32ARuj+wEMNZ73g3FdurzkhwRmGi8RhR9obYkL3cqS34dmQvAWAlYmNYfqIg8Z2nv9KLwCrsnKfJDevlgmjpyj+Bxzx0smpIq/TAAAAFQDUYT4psdnG+JAUJfUhTCBz5AivsQAAAIAVLo/baTi/Z/xDod4N+bLwDYylsGKyWUuB8pTsMz/IPBH6KWPMWB62H9cO4rXhX2VQsKQXFBv77gqhpqzCB0iqQvc1DOHNXIp33tRlOvLntTYR02jduFnMtw9XyKjpIRaQmON3JY97liYL9zqP4Dd2RwSbPvSAhCPgWWL6lEX7awAAAIB8ad42MTdKzRVhZ3wu6KBmvn0LmeiX0NO5WQcPoOfwSqH7hCbhV2Dy+BfM3OklL6I3HesTajtuyLy6UBL83ayrvl8AXO0y7NCPOuZCm59YYXF8SE7pQz7JZBFyA9jTm9Ba4W0rrwHo3x1OkYXFd5LQowO71k/KKuWGQMGssR8Uiw== root@localhost1

//在服务端当前用户家目录下的.ssh下创建authorized_keys(用于存放公钥)
[root@localhost2 ~]cd .ssh
[root@localhost2 .ssh]#vim authorized_keys
将之前生成的公钥复制进这个文件

2.2将公钥发送给服务器(自动)

[root@localhost2 ~]# ssh-copy-id -i 公钥文件  用户@服务端ip  

//使用命令自动传送公钥文件,会自动生成authorized_keys文件
[root@localhost1 ~]#cd .ssh
[root@localhost1 .ssh]#ssh-copy-id -i id_dsa.pub root@192.168.116.20

//查看一下
[root@localhost2 ~]#cd .ssh
[root@localhost2 .ssh]#ls
authorized_keys  known_hosts
[root@localhost2 .ssh]#cat authorized_keys 
ssh-dss AAAAB3NzaC1kc3MAAACBAI9yxdO7V/W/ATYiSoKz4MbWZDRpE902lBpH0i5dmghNwWAxqV0DRMjetyvUc+R466NdXmp7N32ARuj+wEMNZ73g3FdurzkhwRmGi8RhR9obYkL3cqS34dmQvAWAlYmNYfqIg8Z2nv9KLwCrsnKfJDevlgmjpyj+Bxzx0smpIq/TAAAAFQDUYT4psdnG+JAUJfUhTCBz5AivsQAAAIAVLo/baTi/Z/xDod4N+bLwDYylsGKyWUuB8pTsMz/IPBH6KWPMWB62H9cO4rXhX2VQsKQXFBv77gqhpqzCB0iqQvc1DOHNXIp33tRlOvLntTYR02jduFnMtw9XyKjpIRaQmON3JY97liYL9zqP4Dd2RwSbPvSAhCPgWWL6lEX7awAAAIB8ad42MTdKzRVhZ3wu6KBmvn0LmeiX0NO5WQcPoOfwSqH7hCbhV2Dy+BfM3OklL6I3HesTajtuyLy6UBL83ayrvl8AXO0y7NCPOuZCm59YYXF8SE7pQz7JZBFyA9jTm9Ba4W0rrwHo3x1OkYXFd5LQowO71k/KKuWGQMGssR8Uiw== root@localhost1

3.重新使用ssh远程登录服务端,会提示使用密钥验证登录(如果为密钥设置了密码,还需要输入密钥的密码)

 

补充:免交互登录

  • 公钥文件设置了密码

        服务端导入公钥文件后,建立ssh代理(此方式只在当前连接有效)

[root@localhost1 ~]#ssh-agent bash
[root@localhost1 ~]#ssh-add
Enter passphrase for /root/.ssh/id_dsa: 
Identity added: /root/.ssh/id_dsa (/root/.ssh/id_dsa)
  • 公钥文件未设置密码(密码为空)

        这种情况可以在密钥验证后直接登录

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

Linux配置SSH远程登录管理 的相关文章

  • GCC 和 ld 找不到导出的符号...但它们在那里

    我有一个 C 库和一个 C 应用程序 尝试使用从该库导出的函数和类 该库构建良好 应用程序可以编译 但无法链接 我得到的错误遵循以下形式 app source file cpp text 0x2fdb 对 lib namespace Get
  • diff 文件仅比较每行的前 n 个字符

    我有2个文件 我们将它们称为 md5s1 txt 和 md5s2 txt 两者都包含a的输出 find type f print0 xargs 0 md5sum sort gt md5s txt 不同目录下的命令 许多文件被重命名 但内容保
  • 在 Linux 中禁用历史记录 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 要在 Linux 环境中禁用历史记录 我执行了以下命令 export HISTFILESIZE 0 export HISTSIZE 0 u
  • 在 Mac OS X 上构建 Linux 内核

    我正在做一个修改Linux内核的项目 我有一台桌面 Linux 机器 在上面构建内核没有问题 不过 我要去旅行 我想在途中工作 我只有一台 MacBook 当我尝试构建 Linux 内核时 它抱怨说elf h was not found 我
  • Unix 命令列出包含字符串但*不*包含另一个字符串的文件

    如何递归查看包含一个字符串且不包含另一个字符串的文件列表 另外 我的意思是评估文件的文本 而不是文件名 结论 根据评论 我最终使用了 find name html exec grep lR base maps xargs grep L ba
  • 修改linux下的路径

    虽然我认为我已经接近 Linux 专业人士 但显然我仍然是一个初学者 当我登录服务器时 我需要使用最新版本的R 统计软件 R 安装在 2 个地方 当我运行以下命令时 which R I get usr bin R 进而 R version
  • bluetoothctl 到 hcitool 等效命令

    在 Linux 中 我曾经使用 hidd connect mmac 来连接 BT 设备 但自 Bluez5 以来 这种情况已经消失了 我可以使用 bluetoothctl 手动建立连接 但我需要从我的应用程序使用这些命令 并且使用 blue
  • awk 子串单个字符

    这是columns txt aaa bbb 3 ccc ddd 2 eee fff 1 3 3 g 3 hhh i jjj 3 kkk ll 3 mm nn oo 3 我可以找到第二列以 b 开头的行 awk if substr 2 1 1
  • 使用 paramiko 运行 Sudo 命令

    我正在尝试执行sudo使用 python paramiko 在远程计算机上运行命令 我尝试了这段代码 import paramiko ssh paramiko SSHClient ssh set missing host key polic
  • 如何检测并找出程序是否陷入死锁?

    这是一道面试题 如何检测并确定程序是否陷入死锁 是否有一些工具可用于在 Linux Unix 系统上执行此操作 我的想法 如果程序没有任何进展并且其状态为运行 则为死锁 但是 其他原因也可能导致此问题 开源工具有valgrind halgr
  • 如何使用 xterm.js 创建基于 Web 的终端以 ssh 进入本地网络上的系统

    我偶然发现了这个很棒的图书馆xterm js https xtermjs org 这也是 Visual Studio Code 终端的基础 我有一个非常普遍的问题 我想通过基于网络的终端 不在网络中 可能位于 aws 服务器上 访问本地网络
  • nginx 上的多个网站和可用网站

    通过 nginx 的基本安装 您的sites available文件夹只有一个文件 default 怎么样sites available文件夹的工作原理以及如何使用它来托管多个 单独的 网站 只是为了添加另一种方法 您可以为您托管的每个虚拟
  • gdb查找行号的内存地址

    假设我已将 gdb 附加到一个进程 并且在其内存布局中有一个文件和行号 我想要其内存地址 如何获取文件x中第n行的内存地址 这是在 Linux x86 上 gdb info line test c 56 Line 56 of test c
  • 如何查明CONFIG_FANOTIFY_ACCESS_PERMISSIONS是否启用?

    我想利用fanotify 7 http man7 org linux man pages man7 fanotify 7 html我遇到的问题是在某些内核上CONFIG FANOTIFY ACCESS PERMISSIONS不起作用 虽然C
  • 为什么内核需要虚拟寻址?

    在Linux中 每个进程都有其虚拟地址空间 例如 32位系统为4GB 其中3GB为进程保留 1GB为内核保留 这种虚拟寻址机制有助于隔离每个进程的地址空间 对于流程来说这是可以理解的 因为有很多流程 但既然我们只有 1 个内核 那么为什么我
  • Linux中的CONFIG_OF是什么?

    我看到它在很多地方被广泛使用 但不明白在什么场景下我需要使用它 What is 配置 OF OF 的全名是什么 打开固件 这是很久以前发明的 当时苹果公司正在生产基于 PowerPC CPU 的笔记本电脑 而 Sun Microsystem
  • 如何在数组中存储包含双引号的命令参数?

    我有一个 Bash 脚本 它生成 存储和修改数组中的值 这些值稍后用作命令的参数 对于 MCVE 我想到了任意命令bash c echo 0 0 echo 1 1 这解释了我的问题 我将用两个参数调用我的命令 option1 without
  • nslookup 报告“无法解析 '(null)': 名称无法解析”,尽管它成功解析了 DNS 名称

    我在 ubuntu 上 并且正在运行 docker 默认桥接网络 我有 Zookeeper kafka 的容器化版本 以及我编写的与 kafka 对话的应用程序 I do a docker exec it
  • 如何在 Linux shell 中将十六进制转换为 ASCII 字符?

    假设我有一个字符串5a 这是 ASCII 字母的十六进制表示Z 我需要找到一个 Linux shell 命令 它将接受一个十六进制字符串并输出该十六进制字符串代表的 ASCII 字符 所以如果我这样做 echo 5a command im
  • 两种情况或 if 哪个更快? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我必须制作一个 非常 轻的脚本 它将接受用户的选项并调用脚本中的函数来执行一些任务 现在我可以使用 IF 和 CASE 选项 但我想知道两

随机推荐

  • Android项目目录结构和资源管理

    项目目录结构和资源管理 项目目录结构默认结构形式真正的结构形式app包里结构src包里的目录 资源的管理和使用图片资源布局资源字符串资源样式颜色资源 项目目录结构 默认结构形式 新建的项目会默认使用Android模式的项目结构 xff0c
  • jupyter notebook无法打开(或无法用终端打开)

    报错如下 xff1a 解决方法 xff1a 添加这三个环境变量 注 xff1a 这三个路径虽然短 xff0c 但是一定要复制粘贴进去 xff0c 手写很容易报错 xff0c 即使你路径手写是对的 其他问题解决方法 xff1a xff08 1
  • Spring Aop通知注解的执行顺序

    spring4和spring5有所不同 spring4没异常有异常执行顺序从上往下 64 Around通知前 64 Aroud通知前 64 Before通知 64 Before通知业务代码 64 After通知 64 Around通知后 6
  • vcruntime140_1.dll无法继续执行代码如何修复?

    vcruntime140 1 dll是电脑系统动态链接中非常重要的文件 xff0c 主要用于处理各种程序 每台计算机上都有相当多的DLL文件 xff0c 不同的程序会使用不同的DLL文件 电脑系统如果丢失dll文件 xff0c 会导致很多软
  • Linux基础指令的基本操作(一)

    文章目录 Linux用户管理 xff1a 1 adduser添加用户2 passwd修改用户密码3 userdel删除用户 其他指令alias指令 取别名 whoami指令man指令 重要 bc指令unamefreedf h Linux 访
  • Linux 权限(二)权限掩码 粘滞位 详细

    文章目录 Linux权限的概念Linux权限管理01 文件访问者的分类 xff08 人 xff09 02 文件类型和访问权限 xff08 事物属性 xff09 拥有者 xff0c 所属组 xff0c other vs root 和普通用户a
  • Linux——基础IO

    文章目录 先来段代码回顾C文件接口写文件读文件输出信息到显示器 xff0c 你有哪些方法 默认打开的三个流 stdin amp stdout amp stderr系统接口openclosewriteread文件描述符fd文件描述符的分配规则
  • boost字符串库简单使用

    boost字符串库简单使用 说明用法大小写转换字符串分割去掉字符串两边空格替换字符串 replace first replace first copy 说明 写c 43 43 程序的时候 xff0c 虽然std string有数百余函数 x
  • 线程安全下单例模式

    文章目录 什么是单例模式单例模式的特点定义对象的本质什么时候创建对象饿汉实现方式和懒汉实现方式饿汉方式实现单例模式懒汉方式实现单例模式懒汉方式实现单例模式 线程安全版本 什么是单例模式 单例模式是一种 经典的 常用的 常考的 设计模式 单例
  • Linux 线程池

    文章目录 线程池的定义使用线程池的原因基于POSIX实现的线程池基于block队列的线程池实现基于ring队列的线程池实现 设计单例模式线程池 线程池的定义 线程池就一堆已经创建好的任务线程 xff0c 初始它们都处于空闲等待状态 xff0
  • 魔都,3年,程序员到CTO

    过一个平凡无趣的人生实在太容易了 xff0c 你可以不读书 xff0c 不冒险 xff0c 不运动 xff0c 不写作 xff0c 不外出 xff0c 不折腾 但是 xff0c 人生最后悔的事情就是 xff1a 我本可以 陈素封 我可以 在
  • TCP协议

    文章目录 1 保证可靠性机制1 1 确认应答机制1 1 1确认应答机制概念1 1 2常规确认应答的工作方式1 1 3报文按序到达1 1 4 如何确认历史数据被收到1 1 5 16位序号和16确认序号 xff08 字段讲解 xff09 tcp
  • 1 对数器,二分查找,

    文章目录 对数器二分查找 1 有序序列二分查找 2 在一个有序数组中 xff0c 找 lt 61 某个数最右侧的位置 3 在一个有序数组中 xff0c 找 gt 61 某个数最左侧的位置 4 无序序列二分查找 xff0c 求局部最小值 对数
  • 2 异或位运算大厂必刷题

    文章目录 如何不用额外变量交换两个数一个数组中有一种数出现了奇数次 xff0c 其他数都出现了偶数次 xff0c 怎么找到并打印这种数怎么把一个int类型的数 xff0c 提取出最右侧的1来怎么把一个int类型的数 获取位数为1的数量一个数
  • 链表,栈,队列,递归行为,哈希表,有序表

    文章目录 链表1 单链表 双链表的反转2 删除链表中指定的值 队列1 数组循环队列的实现2 双向链表实现双端队列 栈1 用数组实现栈 栈和队列的面试题1 实现最小栈2 两个栈实现一个队列3 两个队列实现一个栈4 用栈实现图的广度优先遍历5
  • 搭建Zabbix6.0版本

    Zabbix简介 Zabbix是一个企业级的开源分布式监控解决方案 xff0c 由C语言编写而成的底层架构 xff08 server端和agent端 xff09 xff0c 由一个国外的团队持续维护更新 xff0c 软件可以自由下载使用 x
  • Linux--网络服务器配置步骤详情【1】

    目录 一 配置ip地址 二 配置yum服务器 三 配置安装nfs服务器 1 第一台机 xff1a 2 第二台机 xff1a 四 安装配置samba服务器 五 安装配置DHCP 一 配置ip地址 root 64 wenjian vi etc
  • vscode提取拓展时出错。XHR failed

    vscode提取拓展时出错 XHR failed huas weew12的博客 CSDN博客 提取扩展时出错 转载 这这人家的步骤操作 果然就好了
  • python天气语音播报

    今天的小项目是一个天气播报 xff0c 项目效果是点击运行就读出今天的天气 那么我们可以分两步走 xff0c 第一个 xff1a 先爬取到今天的天天气内容 xff0c 第二步 xff1a 电脑读出今天的天气内容 想要电脑读出内容 xff0c
  • Linux配置SSH远程登录管理

    目录 一 SSH协议 1 SSH简介 2 SSH的优点 3 SSH远程控制软件及服务 二 SSH远程管理配置 1 配置OpenSSH服务端 2 使用SSH客户端软件 xff08 1 xff09 SSH远程登录 xff08 2 xff09 s