day08(远程管理ssh服务免密登录解决方案+ssh实操)

远程管理ssh服务免密登录解决方案

1.使⽤yum安装了nodejs环境

2.安装npm,设置镜像

3.使⽤npm安装了vue

4.使⽤安装vue软件,创建vue项⽬ vue create vuehtml000

5.跳到项⽬⽬录中,npm run serve启动项⽬

6.npm run build 构建项⽬

7.将构建的项⽬⽬录dist⽬录中的所有⽂件部署到nginx的html⽬录中

8.reload nginx

任务背景

经过⼀段时间后,开发⼈员和运维⼈员都觉得使⽤密码SSH登录的⽅式太麻烦(每次登录都需 要输⼊密码,难记⼜容易泄露密码)。为了安全和便利性⽅⾯考虑,要求运维⼈员给所有服务 器实现免密码登录。

任务要求

所有开发⼈员通过远程管理⽤户code登录⽣产服务器实现免密码登录。

任务拆解

1. ==理解免密登录原理==

2. ==根据需求针对不同⽤户配置免密登录==

涉及知识点

免密登录原理(==理解==)

⽤户⽣成秘钥对(公钥和私钥)

免密码登录配置(==重点==)

理论储备

SSH两种认证⽅式

1、基于⽤户名密码的认证(精简版)

JumpServer => ssh code@RealServer的IP地址

2、基于密钥对的认证

基于密钥对认证,也就是所谓的免密码登录,理解免密登录原理:

基于密钥对认证的免密码登录原理,主要依赖于非对称加密技术,即公钥和私钥的配对使用。以下是该原理的详细解释:

一、密钥对生成

  1. 生成密钥对:首先,在客户端(如SecureCRT等SSH客户端)上,使用密钥生成工具(如ssh-keygen)生成一对密钥,包括一个公钥和一个私钥。公钥是公开的,可以安全地分享给任何人;私钥则是保密的,必须严格保护,不应泄露给任何人。

  2. 密钥保存:公钥和私钥生成后,公钥通常会被保存在一个文件中(如id_rsa.pub),而私钥则保存在另一个文件中(如id_rsa),这两个文件默认保存在用户的~/.ssh/目录下。

二、公钥分发

  1. 公钥上传:客户端将生成的公钥文件(如id_rsa.pub)上传到服务器上的指定位置,通常是服务器的~/.ssh/authorized_keys文件中。这个操作可以通过多种方式完成,如使用scp命令、ssh-copy-id命令,或者直接在服务器上手动编辑authorized_keys文件并追加公钥内容。

  2. 权限设置:为了确保安全,~/.ssh/目录和authorized_keys文件的权限需要被正确设置。通常,~/.ssh/目录的权限应设置为700,而authorized_keys文件的权限应设置为600。

三、免密登录过程

  1. 客户端请求:当客户端尝试以SSH方式登录服务器时,它会向服务器发送一个登录请求,这个请求中包含了客户端的用户名。

  2. 服务器响应:服务器接收到登录请求后,会到~/.ssh/authorized_keys文件中查找是否存在与该用户名对应的公钥。

  3. 挑战生成:如果找到了对应的公钥,服务器会生成一个随机的挑战字符串(也称为“会话密钥”),并使用该公钥对这个挑战字符串进行加密,然后将加密后的挑战字符串发送给客户端。

  4. 私钥解密:客户端收到加密后的挑战字符串后,会使用自己的私钥对其进行解密,得到原始的挑战字符串。

  5. 响应验证:客户端将解密后的挑战字符串(即原始的会话密钥)发送给服务器。服务器接收到后,会与自己之前生成的挑战字符串进行对比。如果两者相同,则说明客户端确实拥有与该公钥配对的私钥,因此允许客户端登录。

四、总结

基于密钥对认证的免密码登录原理,通过非对称加密技术确保了登录过程的安全性。客户端使用私钥解密服务器发送的加密挑战字符串,从而证明了自己拥有与服务器上公钥配对的私钥,而无需在登录过程中输入密码。这种方式不仅提高了登录过程的安全性,还提高了用户体验和效率。

任 务 解 决 ⽅ 案

1 . 跳板机上 的开发人员自己生成一对密钥

      code1为例:

2.将code1用户的公钥远程拷贝到生产服务器上指定用户的指定目录

3.测试验证

扩展总结

图解SSH加密算法

des 对称的公钥加密算法,安全低,数据传输速度快;使⽤同⼀个秘钥进⾏加密或解密

rsa ⾮对称的公钥加密算法,安全,数据传输速度慢 ,SSH默认的加密算法

思考1: ⽤户信息加密了,但如何安全的保存密钥呢?

1、远程Server收到Client端⽤户的登录请求后,Server端把⾃⼰的公钥发给⽤户

2、Client端使⽤这个公钥,将密码进⾏加密

3、Client将加密的密码发送给Server端

4、远程Server⽤⾃⼰的私钥,解密登录密码,然后验证其合法性

5、根据验证结果,给Client相应的响应

思考2: ⾮对称加密就绝对安全吗?

问题: SSH中是如何解决这个问题的呢?

答:基于⽤户名密码认证和密钥对认证。

==基于⽤户密码的认证==

提示信息:⽆法确认主机192.168.10.171的真实性,指纹 是 9f:71:de:3c:86:25:dd:f0:06:78:ab:ba:96:5a:e4:95. ,你确定想要继续吗?

说明:

1. 理论上应该是对公钥的确认,由于公钥通过RSA算法加密,太⻓,不好直接⽐较,所以给 公钥⽣成⼀个hash的指纹,⽅便⽐较。

2. 当客户端输⼊yes确认对⽅的公钥指纹后,server端的公钥就会被存放到客户机的⽤户家 ⽬录⾥~/.ssh/known_hosts⽂件中,下次再访问就直接通过密码登录,不需要再确认公 钥。

==基于秘钥对的认证(免密码登录)==

相关⽂件解读:

1. id_rsa:保存私钥

2. id_rsa.pub:保存公钥

3. authorized_keys:保存已授权的客户端公钥

4. known_hosts:保存已认证的远程主机公钥

ssh实操

远程管理ssh服务

一、搭建ssh服务

0.安装ssh服务

1)opnenssh

2)ssh-server

3)ssh-client

 cs   client-server

bs  browser-server

当前系统已默认安装了openssh

1.关闭防火墙和seliux(不关闭selinux导致sshd的端口无法修改)

2.配置yum源

JumpServer配置外⽹YUM源 => 阿⾥云

RealServer配置本地YUM源 => 把光盘镜像作为仓库(⾃建YUM仓库)

① 挂载光盘

② 编写local.repo⽂件

3、openssh软件的安装

SSH服务底层的软件名称叫做openssh,open开源,ssh就是ssh服务。openssh属于C/S架构 软件,其拥有客户端与服务器端。

客户端:ssh

服务端:openssh-server

安装步骤:

# yum install openssh -y

检查openssh是否安装成功

# rpm -qa |grep openssh

# yum list installed |grep openssh

获取openssh⽣成的⽂件列表

4、查看并修改ssh服务端的配置⽂件

        # man 5 sshd_config

RealServer:禁⽌root账号远程登录

在配置⽂件设置permitRootlogin no,不允许root账户远程登录可以设置其他账户远程登录。 zhangsan

5、sshd服务管理

⼆、SSH服务任务解决⽅案

1、创建⽤户并授权

JumpServer跳板机创建⽤户并授权

第⼀步:创建⽤户与⽤户组(html前端组,tom与jerry)

第⼆步:为⽤户添加密码

第三步:为开发⼈员创建数据⽬录并且设置相应的权限

① 创建⽤户的数据⽬录:

② 更改⽬录的⽂件所属组(更改为html,代表html组内成员可以对这个⽬录进⾏管理)

③ 添加粘滞位权限,防⽌误删除操作

刚才我们做了什么

由于root不能远程登录,我们创建了zhangsan,lisi两个账户,并且设置了密码

现在zhangsan。lisi两个程序猿需要对y服务器中的code⽬录进⾏编辑

将zhangsan. lisi都添加到附加组 code(使⽤g roupadd code提前创建好附加组)

usermod -g code zhangsan

User mod -g code lisi

为code⽬录添加code组的权限

chgrp -R code /code/ #将code所属组修改为code组

chmod -R g+w /code/ 为code⽬录的组⽤户加上w权限、

  在实际⼯作中,不断的添加或者移除⽤户的组⻆⾊

2、测试⽤户权限 

测试⽤户权限是否设置成功,可以结合第1步⼀起完成

3.禁⽤root登录

RealServer服务器端:

4、更改SSH默认端⼝

RealServer服务器端:

刚才做了什么事情

1.修改 vim /etc/ssh/sshd_config 第17⾏的# 删除,22换成9999

2.重启sshd服务,

setenforce 0 停⽤selinux

systemctl stop firewalls 停⽤防⽕墙

systemctl restart ssh 重启ssh服务

ssh连接服务器,如果服务端⼝是22,可以不⽤添加-p选项

如果不是22端⼝,就不许添加-p选项

s sh -p9999 -llisi 192.168.71.135

Ssh -p9999 lisi@192.168.71.135

5、重启SSH服务

restart与reload的本质区别:

① restart其实相当于stop然后在start

② reload不停⽌现有业务,只是重新加载sshd对应的配置⽂件

6、在RealServer创建⼀个code账号

测试:在JumpServer远程连接RealServer

7、SSH客户端不验证指纹

第一次连接远程服务器时:

如果我们不想验证指纹,可以通过更改SSH客户端的配置⽂件

JumpServer

8、⽤专业⼯具pwgen⽣成⽤户密码

在实际⽣产环境中,其⽤户密码⼀定不要⼿⼯设置,建议使⽤专业的密码⽣成⼯具如pwgen。

① 安装随机密码⽣成⼯具pwgen

② 使⽤pwgen⼯具⽣成随机密码

③ 给账号code设置密码

第⼀步:创建code开发者账号

第⼆步:配置EPEL源,安装pwgen⼯具

第三步:安装pwgen密码⽣成⼯具

第四步:使⽤pwgen⽣成随机密码

扩展:pwgen密码⽣成器的使⽤

三、SSH服务补充

1、scp命令

主要功能:⽤于Linux系统与Linux系统之间进⾏⽂件的传输(上传、下载)

上传:

下载:

scp 指定端⼝ - P ⼤写

ssh 指定端⼝ -p ⼩写

使⽤的默认的22端⼝,不需要指定

scp上传也要注意⽤户的权限问题,没有权限的⽬录⽆法上传

2、踢出⽤户

四、SSH免密登录解决⽅案

1、为什么需要免密登录

2、SSH认证原理(基于⽤户名密码+基于密钥对)

2、SSH认证原理(基于⽤户名密码+基于密钥对)

② 基于密钥对(公钥与私钥)的认证⽅式 => 免密登录

A主机 => JumpServer,B主机 => RealServer

第⼀步:在A主机(JumpServer)⽣成⼀个密钥对(公钥和私钥)

第⼆步:把A主机的公钥通过⽹络拷⻉到B主机(RealServer)上,然后把其内容追加到B主机 的~/.ssh/authorized_keys

第三步:由A主机(JumpServer)向B主机(RealServer)发起登录请求,然后直接在B主机 上进⾏公钥⽐对(判断A主机的公钥是否已经存储在B主机的authorized_keys⽂件中),如果 存在且正确,则⽣成⼀个随机的字符串(如itcast),然后使⽤A主机的公钥对其加密得到加密 的后字符串(如dXdh,34njasz!z.)

第四步:通过⽹络,由B主机讲刚才⽣成的加密后的字符串传输给主机A,主机A接收到加密后 的字符串以后,使⽤⾃⼰本地存储的私钥进⾏解密操作(得到itcast)

第五步:把解密得到的itcast发送到B主机,然后验证与刚才⽣成的字符串是否⼀致,如果⼀ 致,返回登录成功。反之,则返回登录失败。

到此免密登录全部完成!

3、SSH免密登录的具体实现

SSH免密的实现思路⼀共分为三个步骤(三步⾛)

第⼀步:在A主机针对某个账号(tom或jerry)⽣成公钥与私钥

第⼆步:使⽤某些⽅法把公钥发送到B主机中,然后追加到authorized_keys⽂件中

第三步:测试是否实现免密登录

☆ ⽅法⼀:⽐较常⽤(tom)

① 在A主机针对某个账号⽣成公钥与私钥

# ssh-keygen

        注:如果不想⼀路确认,可以在ssh-keygen -P "",直接⽣成公私钥

② 使⽤ssh-copy-id把公钥⽂件中的内容传输到服务器端的~/.ssh/authorized_keys⽂件中

③ 在JumpServer客户端测试免密登录是否成功

# ssh -p 3721 code@11.1.1.100

☆ ⽅法⼆:集群常⽤(jerry)

① ⽣成公钥与私钥

② 把id_rsa.pub⽂件,scp到RealServer服务器端

③ 在RealServer服务器端,把id_rsa.pub⽂件中的内容追加到~/.ssh/authorized_keys⽂件中

        注意事项:以上配置也⽐较简单,但是实际应⽤时要注意⽂件的权限

④ 测试免密是否成功

# ssh -p 3721 code@11.1.1.100

1.随便找个账户执⾏ ssh-keygen 按三次回撤,会在当前和⽤户的家⽬录下

~/.ssh/id_res 私钥

~/.ssh/id_rsa_pub 公钥

2.ssh-copy-id -p22 root@192.168.71.140 ⽤root'对root,⽤zhangsan对zhangsan免密

3.ssh -pxxx root

练习:

1.新增账号 zhangsan lisi wangwu zhaoliu aaa bbb ccc ddd

2.设置和账号同名的如果长度不够8位就重复账号

[root@y ~]# useradd zhangsan

[root@y ~]# passwd zhangsan

更改用户 zhangsan 的密码 。

新的 密码:

无效的密码: 密码少于 8 个字符

重新输入新的 密码:

passwd:所有的身份验证令牌已经成功更新。

[root@y ~]#useradd lisi

[root@y ~]#passwd lisi

更改用户 lisi 的密码 。

新的 密码:

无效的密码: 密码少于 8 个字符

重新输入新的 密码:

passwd:所有的身份验证令牌已经成功更新。

[root@y ~]# useradd wangwu

[root@y ~]# passwd wangwu

更改用户 wangwu 的密码 。

新的 密码:

无效的密码: 密码少于 8 个字符

重新输入新的 密码:

passwd:所有的身份验证令牌已经成功更新。

[root@y ~]# useradd zhaoliu

[root@y ~]# passwd zhaoliu

更改用户 zhaoliu 的密码 。

新的 密码:

无效的密码: 密码少于 8 个字符

重新输入新的 密码:

passwd:所有的身份验证令牌已经成功更新。

[root@y ~]# useradd aaa

[root@y ~]# passwd aaa

更改用户 aaa 的密码 。

新的 密码:

无效的密码: 密码少于 8 个字符

重新输入新的 密码:

passwd:所有的身份验证令牌已经成功更新。

[root@y ~]# useradd bbb

[root@y ~]# passwd bbb

更改用户 bbb 的密码 。

新的 密码:

无效的密码: 密码少于 8 个字符

重新输入新的 密码:

passwd:所有的身份验证令牌已经成功更新。

[root@y ~]# useradd ccc

[root@y ~]# passwd ccc

更改用户 ccc 的密码 。

新的 密码:

无效的密码: 密码少于 8 个字符

重新输入新的 密码:

passwd:所有的身份验证令牌已经成功更新。

[root@y ~]# useradd ddd

[root@y ~]# passwd ddd

更改用户 ddd 的密码 。

新的 密码:

无效的密码: 密码少于 8 个字符

重新输入新的 密码:

passwd:所有的身份验证令牌已经成功更新。

3.设置这些账户都有对code目录w的权限

[root@y ~]# mkdir /code/

[root@y ~]# ls -l /

总用量 22

lrwxrwxrwx.   1 root root    7 7月  17 03:39 bin -> usr/bin

dr-xr-xr-x.   5 root root 4096 7月  17 03:43 boot

drwxr-xr-x.   2 root root    6 7月  17 14:56 code

[root@y ~]# groupadd code

[root@y ~]# usermod -g code zhangsan

[root@y ~]# usermod -g code lisi

[root@y ~]# usermod -g code wangwu

[root@y ~]# usermod -g code zhaoliu

[root@y ~]# usermod -g code aaa

[root@y ~]# usermod -g code bbb

[root@y ~]# usermod -g code ccc

[root@y ~]# usermod -g code ddd

[root@y ~]# chgrp -R code /code/

[root@y ~]# ls -l /

总用量 22

lrwxrwxrwx.   1 root root    7 7月  17 03:39 bin -> usr/bin

dr-xr-xr-x.   5 root root 4096 7月  17 03:43 boot

drwxr-xr-x.   2 root code    6 7月  17 14:56 code

[root@y ~]# chmod -R g+w /code/

[root@y ~]# ls -l /

总用量 22

lrwxrwxrwx.   1 root root    7 7月  17 03:39 bin -> usr/bin

dr-xr-xr-x.   5 root root 4096 7月  17 03:43 boot

drwxrwxr-x.   2 root code    6 7月  17 14:56 code

4.为以上的用户设置免密登录

(1)在x上免密登录zhangsan

[root@localhost ~]# ssh-keygen

Generating public/private rsa key pair.

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.

The key fingerprint is:

SHA256:T4f3PsMciZSuWUAE2nTIMvwAXcxxoUWr88PytSOT7SI root@x

The key's randomart image is:

+---[RSA 2048]----+

|    .+ ==*B.     |

|      *+==..     |

|      .=o..  .   |

|        ....o    |

|        S o+o. . |

|         * o+.o  |

|        . =*.o.. |

|        EoBooo=  |

|         ..=o..o |

+----[SHA256]-----+

[root@localhost ~]# ls ./.ssh/

authorized_keys  id_rsa  id_rsa.pub  known_hosts

[root@localhost ~]# ssh-copy-id -p9999 zhangsan@192.168.2.8

/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/root/.ssh/id_rsa.pub"

/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

zhangsan@192.168.2.8's password:

Number of key(s) added: 1

Now try logging into the machine, with:   "ssh -p '9999' 'zhangsan@192.168.2.8'"

and check to make sure that only the key(s) you wanted were added.

[root@localhost ~]# ssh -p9999 zhangsan@192.168.2.8

Last login: Wed Jul 17 16:16:11 2024

[zhangsan@y ~]$

(2)在x上设置lisi免密登录

[root@localhost ~]# ssh-copy-id -p9999 lisi@192.168.2.8

/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/root/.ssh/id_rsa.pub"

/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

lisi@192.168.2.8's password:

Number of key(s) added: 1

Now try logging into the machine, with:   "ssh -p '9999' 'lisi@192.168.2.8'"

and check to make sure that only the key(s) you wanted were added.

[root@localhost ~]# ssh -p9999 lisi@192.168.2.8

Last login: Wed Jul 17 15:24:08 2024 from 192.168.2.1

[lisi@y ~]$

(3)在x上设置wangwu免密登录

[root@localhost ~]# ssh-copy-id -p9999 wangwu@192.168.2.8

/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/root/.ssh/id_rsa.pub"

/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

wangwu@192.168.2.8's password:

Number of key(s) added: 1

Now try logging into the machine, with:   "ssh -p '9999' 'wangwu@192.168.2.8'"

and check to make sure that only the key(s) you wanted were added.

[root@localhost ~]# ssh -p9999 wangwu@192.168.2.8

Last login: Wed Jul 17 16:37:43 2024 from y

[wangwu@y ~]$

(4)在x上设置zhaoliu免密登录

[root@localhost ~]# ssh-copy-id -p9999 zhaoliu@192.168.2.8

/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/root/.ssh/id_rsa.pub"

/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

zhaoliu@192.168.2.8's password:

Number of key(s) added: 1

Now try logging into the machine, with:   "ssh -p '9999' 'zhaoliu@192.168.2.8'"

and check to make sure that only the key(s) you wanted were added.

[root@localhost ~]# ssh -p9999 zhaoliu@192.168.2.8

Last login: Wed Jul 17 17:15:03 2024 from 192.168.2.1

(5)在x上设置aaa免密登录

[root@localhost ~]# ssh-copy-id -p9999 aaa@192.168.2.8

/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/root/.ssh/id_rsa.pub"

/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

aaa@192.168.2.8's password:

Number of key(s) added: 1

Now try logging into the machine, with:   "ssh -p '9999' 'aaa@192.168.2.8'"

and check to make sure that only the key(s) you wanted were added.

[root@localhost ~]# ssh -p9999 aaa@192.168.2.8

Last login: Wed Jul 17 17:23:03 2024 from 192.168.2.1

[aaa@y ~]$

(6)在x上设置bbb免密登录

[root@localhost ~]# ssh-copy-id -p9999 bbb@192.168.2.8

/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/root/.ssh/id_rsa.pub"

/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

bbb@192.168.2.8's password:

Number of key(s) added: 1

Now try logging into the machine, with:   "ssh -p '9999' 'bbb@192.168.2.8'"

and check to make sure that only the key(s) you wanted were added.

[root@localhost ~]# ssh -p9999 bbb@192.168.2.8

Last login: Wed Jul 17 17:25:55 2024 from 192.168.2.1

[bbb@y ~]$

(7)在x上设置ccc免密登录

[root@localhost ~]# ssh-copy-id -p9999 ccc@192.168.2.8

/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/root/.ssh/id_rsa.pub"

/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

ccc@192.168.2.8's password:

Number of key(s) added: 1

Now try logging into the machine, with:   "ssh -p '9999' 'ccc@192.168.2.8'"

and check to make sure that only the key(s) you wanted were added.

[root@localhost ~]# ssh -p9999 ccc@192.168.2.8

Last login: Wed Jul 17 17:32:39 2024 from 192.168.2.1

[ccc@y ~]$

(8)在x上设置ddd免密登录

[root@localhost ~]# ssh-copy-id -p9999 ddd@192.168.2.8

/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/root/.ssh/id_rsa.pub"

/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

ddd@192.168.2.8's password:

Number of key(s) added: 1

Now try logging into the machine, with:   "ssh -p '9999' 'ddd@192.168.2.8'"

and check to make sure that only the key(s) you wanted were added.

[root@localhost ~]# ssh -p9999 ddd@192.168.2.8

Last login: Wed Jul 17 17:34:02 2024 from 192.168.2.1

[ddd@y ~]$

@ip地址

  • 27
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值