当前位置: 首页 > news >正文

服务器 Linux 的网络信息

博主上回大致讲解了文件系统,今天来说说 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 核心路由表 == routeping
查看与目标 IP 地址是否能够连通telnet
查看与目标 IP 的指定端口是否能够连通
yum install telnet -y
telnet 192.168.31.44 22curl
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 node01192.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

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

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

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 【网络安全】探索AI 聊天机器人工作流程实现RCE
  • Unity补完计划 之 SpriteEditer SingleMode
  • 【C++】C++入门基础【类与对象】
  • HslCommunicationDemo各品牌Plc通信测试软件工具
  • 常见cms漏洞之dedecms
  • linux安装weblogic
  • C基础练习(学生管理系统)
  • Golang | Leetcode Golang题解之第316题去除重复字母
  • Machine_Matrix打靶渗透【附代码】(权限提升)
  • 解决ubuntu 下 SSH无法连接的问题
  • YOLOv8由pt文件中读取模型信息
  • MongoDB 未授权访问漏洞
  • c# 逻辑运算符和条件运算符
  • Spring Boot 参数校验 Validation 使用
  • 反其道而行的SAP商业AI
  • android百种动画侧滑库、步骤视图、TextView效果、社交、搜房、K线图等源码
  • ERLANG 网工修炼笔记 ---- UDP
  • javascript数组去重/查找/插入/删除
  • js对象的深浅拷贝
  • Objective-C 中关联引用的概念
  • php ci框架整合银盛支付
  • Python_OOP
  • vue 个人积累(使用工具,组件)
  • 开发了一款写作软件(OSX,Windows),附带Electron开发指南
  • 开源SQL-on-Hadoop系统一览
  • 你不可错过的前端面试题(一)
  • 事件委托的小应用
  • 微信小程序设置上一页数据
  • 为视图添加丝滑的水波纹
  • 我的zsh配置, 2019最新方案
  • 一、python与pycharm的安装
  • 用 Swift 编写面向协议的视图
  • 由插件封装引出的一丢丢思考
  • 数据可视化之下发图实践
  • ​Linux Ubuntu环境下使用docker构建spark运行环境(超级详细)
  • #!/usr/bin/python与#!/usr/bin/env python的区别
  • #NOIP 2014# day.1 生活大爆炸版 石头剪刀布
  • (1)Jupyter Notebook 下载及安装
  • (echarts)echarts使用时重新加载数据之前的数据存留在图上的问题
  • (Redis使用系列) Springboot 使用Redis+Session实现Session共享 ,简单的单点登录 五
  • (Ruby)Ubuntu12.04安装Rails环境
  • (定时器/计数器)中断系统(详解与使用)
  • (二)十分简易快速 自己训练样本 opencv级联lbp分类器 车牌识别
  • (二刷)代码随想录第15天|层序遍历 226.翻转二叉树 101.对称二叉树2
  • (每日持续更新)jdk api之StringBufferInputStream基础、应用、实战
  • (十六)串口UART
  • (四)Android布局类型(线性布局LinearLayout)
  • (算法)硬币问题
  • (转)大道至简,职场上做人做事做管理
  • (自用)learnOpenGL学习总结-高级OpenGL-抗锯齿
  • .NET Core6.0 MVC+layui+SqlSugar 简单增删改查
  • .net framework profiles /.net framework 配置
  • .NET 设计模式初探
  • @vueup/vue-quill使用quill-better-table报moduleClass is not a constructor
  • [ CTF ] WriteUp- 2022年第三届“网鼎杯”网络安全大赛(白虎组)