服务器 Linux 的网络信息

news2024/9/22 15:44:38

博主上回大致讲解了文件系统,今天来说说 Linux 的网络信息,还是比较重要的~

主机名称

临时修改

hostname node01

永久修改

vi /etc/hostname

DNS解析

  • 域名解析服务
  • 可以将域名转换为IP地址
  • DNS域名劫持

window --> C:\Windows\System32\drivers\etc\hosts

123.56.xxx.xxx www.baidu.com

123.56.xxx.xxx www.taodao.com

  • 修改主机域名

vi /etc/hosts

将来我们需要把所有的虚拟机都配置hosts文件

192.168.100.101 node01

192.168.100.102 node02

网络相关命令

ifconfig
查看当前网卡的配置信息
这个命令属于 net-tools 中的一个命令,但是 Centos7 中 minimal 版并没有集成这个包
所以7的时候需要自己手动安装
如果没有 ifconfig ,可以使用 ip addr 临时代替

netstat
查看当前网络的状态信息
一个机器默认有65536个端口号[0,65535]
这是一个逻辑的概念,将来我们需要使用程序监听指定的端口,等待别人的访问
一个端口只能被一个程序所监听, 端口已经被占用
netstat -anp
netstat -r 核心路由表 == route

ping
查看与目标 IP 地址是否能够连通

telnet
查看与目标 IP 的指定端口是否能够连通
yum install telnet -y
telnet 192.168.31.44 22

curl
restful 我们所有的资源在网络上中都有唯一的定位
那么我们可以通过这个唯一定位标识指定的资源
http://localhost:8080/lucky/user.action/666
curl -X GET http://www.baidu.com

主机间的相互免秘钥

服务器相互免秘钥

接下来使用最初始的 Linux 虚拟机克隆一个完整虚拟机出来,现在服务器环境如下:

生成密钥

首先第一步要做的是生成密钥对,运行以下命令生成密钥对:

ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
[root@node01 ~]# ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
Generating public/private rsa key pair.
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:
SHA256:V61ce0q2+FB3Fu2xZOFo0hVxMFORgiyDIZpJmz9v/vg root@node01
The key's randomart image is:
+---[RSA 2048]----+
|   . . .o . . +OB|
| . * .. o o.o+++|
|   *     o..++*.|
|   .     ooooo+|
|     o S . o =.*|
|     o .   = *.|
|       o   o o |
|     o .   o   |
|       ooE   . |
+----[SHA256]-----+

运行以上命令后会在 ~/.ssh/ 目录下生成一对密钥对。
 

[root@node01 ~]# ls ~/.ssh/
id_rsa id_rsa.pub known_hosts

拷贝公钥

接下来,你想免秘钥登录谁,只需要把自己的公钥传递给对方主机即可。这个公钥文件必须放在对方主机的 ~/.ssh/authorized_keys 文件中。可以使用命令将公钥文件自动传递过去,命令如下:

ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.100.102ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.100.102
[root@node01 ~]# ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.100.102
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/root/.ssh/id_rsa.pub"
The authenticity of host '192.168.100.102 (192.168.100.102)' can't be established.
ECDSA key fingerprint is SHA256:U4EWd869KRKqbW0b2wROWkc7+i+dBW3WHgy+IILYDMI.
ECDSA key fingerprint is MD5:99:5a:c0:d8:e4:ec:73:fe:3c:f5:c0:b6:14:7f:d4:0f.
Are you sure you want to continue connecting (yes/no)? yes
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are
already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to
install the new keys
root@192.168.100.102's password:
Number of key(s) added: 1
Now try logging into the machine, with:   "ssh 'root@192.168.100.102'"
and check to make sure that only the key(s) you wanted were added.

注意:第一次建立连接时会弹出一个警告,需要输入 yes 将该主机添加到当前设备的已知主机列表中。这个警告是可 以忽略的,一会我们讲如何忽略

查看对方主机的 ~/.ssh/authorized_keys 文件如下:

[root@node02 ~]# cat ~/.ssh/authorized_keys
ssh-rsa
AAAAB3NzaC1yc2EAAAADAQABAAABAQDOENHCwG21/zMYmSZtY/QbDpMS5coPcvhlEkmzTEXzi5PMx30qYZRaClsp9C8z7Qa0t3IFKe
qp3+g0ZdGYkqEUmCYqwQH9ESnEuHaKKzM04YlfYFV7m9uqtmaOwCfSXJ5bEFKqP5/xBT5MsplK4KYgS4MjS1zQO0EDo19HJauG/9gF
YwjBaMOqdsBN2qqjzOOXpDhgXgeY1NQjw9l7yd4P/EE/K9vzFi8T9ssQTBaf9hNRtVKq4cyddfyQ9p0OZVARRo+h2TDyzb4jOyApAD
3aGCBO2wiXuW98mMwGCVy+xELM2FiDpIYZi0MKcwWcXsSMaKqHBuOpIYcjZgRlYboz root@node01

传输文件测试是否已免密:

[root@node01 ~]# scp /etc/profile root@192.168.100.102:~
profile                                                     100% 1819     2.0MB/s   00:00

通过测试发现已无需输入密码即可进行文件传输,至此,免密流程结束。注意:免密操作是单方面的,如果希望 node02 操作 node01 也免密的话,需要将上述流程在 node02 机器上也做一次。

忽略主机名校验和 host 校验

现在我们已经与 192.168.100.102 机器实现了免秘钥,但是每次都要输入 IP 属实有些麻烦,还好之前我们在 /etc/hosts 文件中已经添加了对应 IP 域名的映射,如下:
 

192.168.100.101 node01

192.168.100.102 node02

那么我们以后便可以使用如下方式来进行通信:

[root@node01 ~]# ssh root@node02
The authenticity of host 'node02 (192.168.100.102)' can't be established.
ECDSA key fingerprint is SHA256:U4EWd869KRKqbW0b2wROWkc7+i+dBW3WHgy+IILYDMI.
ECDSA key fingerprint is MD5:99:5a:c0:d8:e4:ec:73:fe:3c:f5:c0:b6:14:7f:d4:0f.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'node02' (ECDSA) to the list of known hosts.
Last login: Tue May  3 17:37:48 2022 from 192.168.100.1

虽然这次没有要求输入密码,但是烦人的提示信息又出现了。也不是说多敲一个 yes 有多累人,只是后期我们可能会 使用脚本登入其他机器执行一些命令,这时候这个提示信息就会卡住脚本的执行,所以我们必须将其处理。

解决方法:本次生效。

ssh -o StrictHostKeyChecking=no root@node01 

解决方案:永久生效。

修改 /etc/ssh/ssh_config 文件的配置,在 Host * 节点下配置以下信息:

# 严格的密钥检查 no
StrictHostKeyChecking no
# 已知主机列表文件信息写入黑洞(不会再生成 known_hosts 文件)
UserKnownHostsFile /dev/null

这样以后再也不会弹出将该主机添加到当前设备的已知主机列表中的提示信息了。 

恰恰是梦想实现的可能性,让我们的生活变得有趣。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1990170.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Java 2.2 - Java 集合

Java 集合,也叫做容器,主要是由两大接口派生而来:一个是 Collection 接口,主要用于存放单一元素;另一个是 Map 接口,主要用于存放键值对。对于 Collection 接口,其下又有三个主要的子接口&#…

七大云安全威胁及其应对方法

关注公众号网络研究观获取更多内容。 对于任何依赖云来容纳快速增长的服务的企业来说,确保安全都是重中之重。然而,正如大多数云采用者很快意识到的那样,迁移到动态云环境需要新的和更新的安全措施,以确保数据和其他关键资产在整…

凯特王妃与戴安娜王妃:有跨越时空的优雅共鸣!

显而易见的是都是王妃,而王妃不仅是称谓也是一个头衔,她们同时要承担这个头衔应尽的职责! 在皇室世界里,总有一些名字,如同璀璨星辰,即便时光流转,依旧熠熠生辉。现在让我们揭开一段不为人知的幕后故事——凯特王妃与已故的戴安娜王妃之间,那些超越时代、共通的优雅与情…

前端模块化-手写mini-vite

前言 本文总结了一些关于 Vite 的工作原理,以及一些实现细节。 本节对应的 demo 可以在这里找到。 什么是 Vite Vite 是一个基于浏览器原生 ES imports 的开发服务器。利用浏览器去解析 imports,在服务器端按需编译返回,完全跳过了打包这个…

PyTorch深度学习实战(5)—— Tensor的命名张量和基本结构

1. 命名张量 命名张量(Named Tensors)允许用户将显式名称与Tensor的维度关联起来,便于对Tensor进行其他操作。笔者推荐使用维度的名称进行维度操作,这样可以避免重复计算Tensor每个维度的位置。支持命名张量的工厂函数&#xff08…

怎么删除iPhone重复照片:解放你的存储空间

在数字化时代,iPhone已成为我们记录生活点滴的重要工具。从家庭聚会的快乐时光到户外冒险的壮观景象,我们依靠iPhone捕捉无数珍贵瞬间。然而,这种便利性带来的一个副作用是,相册很快就会充满重复的照片,不仅占用了宝贵…

【IC设计】时序分析面试题总结(亚稳态、建立/保持裕量计算、最高时钟频率计算、时序违例解决办法)

文章目录 基本概念亚稳态建立时间和保持时间 常见问题1.为什么触发器要满足建立时间和保持时间?2.建立时间裕量和保持时间裕量的计算?3.最高时钟频率的计算?流水线思想?4.时序违例的解决办法? 基本概念 亚稳态 亚稳态…

简单的 CompletableFuture学习笔记

简单的 CompletableFuture学习笔记 这里记录一下自己学习的内容,简单记录一下方便后续学习,内容部分参考 CompletableFuture学习博客 1. CompletableFuture简介 在api接口调用时间过长,调用过多外围接口时,为了提升性能&#x…

Self-study Python Fish-C Note14 P50to51

函数 (part 4) 本节主要讲函数 递归 递归 (recursion) 递归就是函数调用自身的过程 示例1: def fun1(i):if i > 0: print(something)i-1fun1(i) fun1(5) # 这样就会打印五遍 somethingsomething something something something something要让递归正常工作&am…

IDEA2024.2重磅发布,更新完有4G!

JetBrains 今天宣布了其 IDE 家族版本之 2024.2 更新,其亮点是新 UI 现在已是默认设置,并且对 AI Assistant (AI助手)进行了几项改进。 安装密道 新 UI 的设计更加简约,可以根据需要以视觉方式扩展复杂功能。值得开发…

Arduino学习笔记2——初步认识Arduino程序

Arduino使用的编程语言是C。 一、注释文字 我们可以在程序中插入注释文字来提示开发者代码的作用。在Arduino中,单行注释用的是两个斜杠,多行注释用的是对称的斜杠加星号: 二、函数 和C语言相同,可以看到在打开IDE自动打开的默…

高并发下的分布式缓存 | Cache-Aside缓存模式

Cache-aside 模式的缓存操作 Cache-aside 模式,也叫旁路缓存模式,是一种常见的缓存使用方式。在这个模式下,应用程序可能同时需要同缓存和数据库进行数据交互,而缓存和数据库之间是没有直接联系的。这意味着,应用程序…

Java数据结构 | 二叉树基础及基本操作

二叉树 一、树型结构1.1 树的概念1.2 关于树的一些常用概念(很重要!!!)1.3 树的表示形式1.4 树的应用 二、二叉树2.1 二叉树的概念2.2 两种特殊的二叉树2.3 二叉树的性质2.4 二叉树的存储2.5 二叉树的基本操作2.5.1 代…

【前端可视化】 大屏可视化项目二 scale适配方案 g6流程图 更复杂的图表

项目介绍 第二个大屏可视化,整个项目利用scale进行按比例适配。 图表更加复杂,涉及到图表的叠加,mark,地图,g6流程图的能等 始终保持比例适配(本项目方案),始终满屏适配(项目一). echarts绘制较为复杂图表&#xff0…

C++:string类(auto+范围for,typeid)

目录 前言 auto typeid 范围for 使用方法 string类的模拟实现 默认构造函数 拷贝构造函数 swap 赋值重载 析构函数 迭代器iterator begin和end c_str clear size capacity []运算符重载 push_back reserve append 运算符重载 insert erase find npos…

postgresql 宝塔 连接不上,prisma

不太熟悉pgsql; 配置搞了半天; 一直连不上远程数据库; 后台经过探索发现需要以下配置 1. 端口放行; 5422 (pgsql的端口) 2.编辑 pg_hba.conf 文件最后新增一条,这样可以外部使用postgres超级管理员账号 host all all 0.0.0.0/0 md5 3. pris…

数据结构复杂度

文章目录 一. 数据结构前言1.1 数据结构1.2 算法 二. 算法效率2.1 时间复杂度2.1.1 T(N)函数式2.1.2 大O的渐进表示法 一. 数据结构前言 1.1 数据结构 什么是数据结构呢?打开一个人的主页,有很多视频,这是数据(杂乱无章&#xf…

了解k8s架构,搭建k8s集群

kubernetes 概述 Kubernetes 集群图例 安装控制节点 安装网络插件 安装 calico 安装计算节点 2、node 安装 查看集群状态 kubectl get nodes # 验证容器工作状态 [rootmaster ~]# kubectl -n kube-system get pods

【学习笔记】:Maven初级

一、Maven简介 1、为什么需要maven Maven是一个依赖管理工具,解决如下问题: 项目依赖jar包多jar包来源、版本问题jar包导入问题jar包之间的依赖Maven是一个构建工具: 脱离IDE环境的项目构建操作,需要专门的工具2、Maven介绍 https://maven.apache.org/what-is-maven.htm…

代码随想录算法训练营第44天|LeetCode 1143.最长公共子序列、1035.不相交的线、53. 最大子序和、392.判断子序列

1. LeetCode 1143.最长公共子序列 题目链接:https://leetcode.cn/problems/longest-common-subsequence/description/ 文章链接:https://programmercarl.com/1143.最长公共子序列.html 视频链接:https://www.bilibili.com/video/BV1ye4y1L7CQ…