双 11 期间入手了一台云服务器,备案花了一两个星期,这两天终于备案经过了.因而在我的服务器上装了 Docker
容器用于部署项目,准备尽可能把全部的服务都打包成容器,方便统一管理运维.html
因而利用 docker
搭建了 nginx
做为反向代理服务器,负责请求分发,用 nginx
部署静态博客,用 mysql
暴露给我的项目使用...mysql
可是千里之行始于足下,一切还要从登陆登出远程服务器开始,本文基于 Centos7.6
环境,不保证其余环境正常.linux
若是你已经有云服务器或者虚拟机服务器,首先须要验证服务器上是否已经安装 ssh
服务,若是没有安装则须要提早安装.nginx
登陆服务器后,在命令行窗口中输入 rpm -qa | grep ssh
查看是否包括 ssh
相关文件.git
[root@snowdreams1006 ~]# rpm -qa | grep ssh
openssh-clients-7.4p1-16.el7.x86_64
libssh2-1.4.3-12.el7_6.2.x86_64
openssh-server-7.4p1-16.el7.x86_64
openssh-7.4p1-16.el7.x86_64
复制代码
默认状况下运行 netstat -antp | grep sshd
命令,能够看到 sshd
服务监听的端口正是默认的 22
端口.github
[root@snowdreams1006 ~]# netstat -antp | grep sshd
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1051/sshd
tcp 0 0 *.*.*.*:22 *.*.*.*:46797 ESTABLISHED 17334/sshd: root@pt
复制代码
其实通常云服务器均已预装好 ssh
服务,若是没有上述输出,则说明可能并无安装 ssh
服务,可使用 yum install openssh-server
进行安装.web
下面总结一些关于 sshd
的经常使用命令,以下sql
sshd
运行状态systemctl status sshd
复制代码
若是运行结果包括 Active: active (running)
则证实 sshd
服务处于激活状态,若是是 Active: inactive (dead)
则表示服务已关闭.docker
[root@snowdreams1006 ~]# systemctl status sshd
● sshd.service - OpenSSH server daemon
Loaded: loaded (/usr/lib/systemd/system/sshd.service; enabled; vendor preset: enabled)
Active: active (running) since 五 2019-11-29 21:05:08 CST; 16h ago
Docs: man:sshd(8)
man:sshd_config(5)
Main PID: 1051 (sshd)
Tasks: 1
Memory: 10.9M
CGroup: /system.slice/sshd.service
└─1051 /usr/sbin/sshd -D
复制代码
sshd
服务systemctl start sshd
复制代码
针对处于已经关闭
sshd
状态时,能够再次启动,若是已经启动,则不会输出结果,但仍是启动中.vim
systemctl stop sshd
复制代码
针对处于正在运行
sshd
状态时,能够中止服务,若是已经中止,则不会输出结果,但仍是中止中.
systemctl restart sshd
复制代码
针对处于正在运行
sshd
状态或者已经中止状态时,能够重启服务,虽然都不会输出结果,但已经启动.
sshd
服务systemctl list-unit-files | grep enabled
复制代码
查看所有开机自启服务,若是包括
sshd
则表示sshd
已加入开机自启服务,若是没有则不会开机自启.
systemctl list-unit-files | grep enabled | grep sshd
复制代码
若是所有开机自启服务比较多的话,肉眼不太直接看出
sshd
是否自启,在上一条命令的基础上多加一个grep sshd
便可过滤是否包含sshd
服务.
systemctl enable sshd
复制代码
开机自启服务,若是某些服务很是重要须要一直后台运行的话,最好加入开机自启,这样能防止意外关机重启服务器后忘记开启服务,好比
sshd
服务和docker
服务等等.
systemctl disable sshd
复制代码
针对已经开机自启服务进行禁用,运行
systemctl list-unit-files | grep enabled | grep sshd
能够查看当前服务是否会开机自启.
若是你如今尚未服务器但又想学习体验一下,要么当即花钱去买服务器要么免费安装虚拟机,或者先收藏起来之后再看!
针对当即购买服务器的小伙伴,请私信联系我,用个人推广连接购买,你有优惠,我有分红,何乐而不为呢?
我要购买云服务器,最好仍是留言或者私信告诉我!
针对免费安装虚拟机体验的用户,能够根据本身的操做系统,参考如下推文进行安装,有问题也能够联系我!
我想安装虚拟机,最好仍是留言或者私信告诉我!
下面是以前推文关于什么是虚拟机以及如何安装 Centos
服务器的相关文章,能够点击直接阅读.
主要介绍了什么是虚拟机以及实例演示如何给
Windows
电脑装个VMware
虚拟机.
在
Windows
电脑已经装好VMware
虚拟机的基础上,装个Centos
镜像就拥有了本身的Centos
服务器.
主要介绍了什么是虚拟机以及实例演示如何给
Mac
电脑装个VMware
虚拟机.
在
Mac
电脑已经装好VMware
虚拟机的基础上,装个Centos
镜像就拥有了本身的Centos
服务器.
由于登陆服务器须要使用到 ssh
协议,因此首先须要验证本机客户端命令行是否支持 ssh
协议.
打开你正在使用的命令行,直接输入 ssh
若是有下列提示证实是能够的,若是没有请安装支持 ssh
协议命令行终端.
若是你是 Mac
用户,打开默认的 terminal
终端输入 ssh
返回用法说明,证实是支持 ssh
协议的.
snowdreams1006$ ssh
usage: ssh [-46AaCfGgKkMNnqsTtVvXxYy] [-B bind_interface]
[-b bind_address] [-c cipher_spec] [-D [bind_address:]port]
[-E log_file] [-e escape_char] [-F configfile] [-I pkcs11]
[-i identity_file] [-J [user@]host[:port]] [-L address]
[-l login_name] [-m mac_spec] [-O ctl_cmd] [-o option] [-p port]
[-Q query_option] [-R address] [-S ctl_path] [-W host:port]
[-w local_tun[:remote_tun]] destination [command]
复制代码
Mac
自带的terminal
终端是支持ssh
协议的,Windows
的Git Bash
命令行也是支持的!
若是你是 Windows
用户正在使用 cmd
命令行窗口,很遗憾并不支持 ssh
协议,请自行选择类 unix
终端进行操做.
Microsoft Windows [版本 6.1.7601]
版权全部 (c) 2009 Microsoft Corporation。保留全部权利。
C:\Users\Administrator>ssh 'ssh' 不是内部或外部命令,也不是可运行的程序 或批处理文件。 C:\Users\Administrator> 复制代码
Windows
用户不妨安装 Git for Windows ,默认自带的Git Bash
命令行就很好用,比cmd
终端更加简单优雅,给你一种类unix
操做体验.
ssh
登陆服务器前提是知道帐号密码,先用密码登陆的方式进行设置,而后才能用 ssh
方式进行免密登陆.
通常状况下,密码都是本身设置的,若是不清楚默认密码是多少能够询问云服务器厂商或者选择重设密码,这里再也不赘述,假设你已经知道服务器密码而且知道服务器公网 ip.
下面咱们将会在本机客户端的命令行中远程登陆云服务器,从最简单方便的密码登陆到无密码的密钥登陆再到最后的别名登陆,快点跟着我一块儿动起来吧!
友情提示: 请确保服务端已开启
sshd
服务和本地客户端命令行中支持ssh
协议,不然仍是先收藏起来之后再看吧!
打开熟悉的命令行终端,运行 ssh <登陆帐号>@<服务器公网 ip>
命令直接登陆远程云服务器.
$ ssh root@snowdreams1006.cn
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that a host key has just been changed.
The fingerprint for the ECDSA key sent by the remote host is
SHA256:/RJ5aI+c41Brr1dcBMhdNHQJa7daP+8fbupqsGmHRHc.
Please contact your system administrator.
Add correct host key in /c/Users/Administrator/.ssh/known_hosts to get rid of this message.
Offending ECDSA key in /c/Users/Administrator/.ssh/known_hosts:5
ECDSA host key for 121.40.223.69 has changed and you have requested strict checking.
Host key verification failed.
复制代码
由于个人域名
snowdreams1006.cn
已经备案成功而且作了域名解析,因此这里我能够直接用域名而不是ip
,说白了仍是由于懒,谁让ip
记不住呢!
若是你没有遇到上述提示,恭喜你,能够接着输入帐号密码就能够登陆到服务器了!
若是你和我同样遇到这种问题,极可能是以前登录过服务器,不事后来服务器又重装系统,致使没法登陆,能够清除本机 ~/.ssh/known_hosts
从新登陆.
rm -rf ~/.ssh/known_hosts
复制代码
强制删除 ~/.ssh/known_hosts
文件后从新 ssh root@snowdreams1006.cn
登陆到远程云服务器,按照提示选择继续链接 yes
,而后输入本身的密码 password
,登陆成功后默认进入到家目录.
$ ssh root@snowdreams1006.cn
The authenticity of host 'snowdreams1006.cn (*.*.*.*)' can't be established. ECDSA key fingerprint is SHA256:/**********************************. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added 'snowdreams1006.cn,*.*.*.*' (ECDSA) to the list of known hosts. root@snowdreams1006.cn's password:
Last login: *** from *.*.*.*
Welcome to Alibaba Cloud Elastic Compute Service !
[root@snowdreams1006 ~]#
复制代码
来都来了,不留下点什么东西很差不意思跟别人说过本身曾未来过,那就随便意思意思好了.
[root@snowdreams1006 ~]# whoami
root
复制代码
whoami
我是谁: 查看正在登陆用户名称
[root@snowdreams1006 ~]# pwd
/root
复制代码
pwd
我在哪: 打印当前目录路径
[root@snowdreams1006 ~]# who -u
root tty1 2019-11-29 21:05 旧的 596
root pts/0 2019-11-30 14:15 . 17506 (115.217.243.122)
root pts/1 2019-11-30 14:28 00:05 17533 (115.217.243.122)
复制代码
who -u
还有谁: 打印系统登陆用户
[root@snowdreams1006 ~]# last -a | head -6
root pts/1 Sat Nov 30 14:28 still logged in 115.217.243.122
root pts/0 Sat Nov 30 14:15 still logged in 115.217.243.122
root pts/0 Sat Nov 30 13:10 - 13:51 (00:41) 115.217.243.122
root pts/0 Sat Nov 30 12:24 - 12:25 (00:00) 115.217.243.122
root pts/1 Fri Nov 29 22:08 - 23:12 (01:03) 112.17.241.55
root pts/0 Fri Nov 29 21:33 - 22:13 (00:39) 112.17.241.55
复制代码
last -a | head -6
最后是谁: 打印最后登陆用户
若是发现登陆用户除了本身还有别人或者不记得本身其余终端登录过没有退出,这时候应该踢出这些登陆终端.
若是要踢出别人,首先要本身登陆的终端终端中哪一个是本身,不能本身把本身踢了,那就可笑了!
whoami
仅仅打印登陆名,没有登陆终端信息,可是 who am i
展现信息就相对多了,这里要记住当前用户登陆终端的名称!
[root@snowdreams1006 ~]# who am i
root pts/0 *** (*.*.*.*)
复制代码
who am i
: 我是谁,比whoami
显示的信息更多.
who -u
能够展现所有登陆用户,不过这里推荐使用 w
查看登陆用户终端信息,由于敲入的命令更少!
[root@snowdreams1006 ~]# w
14:53:04 up 17:48, 3 users, load average: 0.00, 0.01, 0.05
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root tty1 五21 17:46m 0.00s 0.00s -bash
root pts/0 115.217.243.122 14:15 0.00s 0.81s 0.00s w
root pts/1 115.217.243.122 14:51 1:37 0.00s 0.00s -bash
复制代码
who -u
和w
均可以查看登陆用户终端信息,pts/0
是当前登陆终端,其余终端pts/1
就能够被踢掉了.
# pkill -kill -t pts/1
复制代码
pkill -kill -t pts/<序号>
踢出登陆终端后,被踢出的终端则会自动退出显示链接已关闭.
[root@snowdreams1006 ~]# w
14:58:46 up 17:53, 2 users, load average: 0.00, 0.01, 0.05
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root tty1 五21 17:52m 0.00s 0.00s -bash
root pts/0 115.217.243.122 14:15 6.00s 0.83s 0.00s w
复制代码
w
: 有谁,踢出其余终端后再次查看登陆终端发现确实没有pts/1
了,证实操做成功!
登陆到服务器查看了一些信息,并成功踢出了其余终端,天已经黑了,是时候洗洗睡了,这时候须要退出服务器回到本地客户端的命令行.
[root@snowdreams1006 ~]# exit
登出
Connection to ssh.snowdreams1006.cn closed.
复制代码
除了敲入命令
exit
还能够敲入快捷键Ctrl+D
退出链接.
通常来讲,使用密码登陆的方式更加适合不经常使用的场合,偶尔用终端登陆一下没什么问题,若是是常常性须要登陆到远程服务器的话,每次链接都须要登陆就比较费事了.
既然不用密码登陆,那怎么证实本身的身份以保证合法性登陆请求呢?
这里就要用到密钥代替密码进行登陆,首先在本机客户端生成一种认证信息,而后将这种认证信息安装到远程服务器中,只要完成这种操做就意味着下一次来自该客户端的登陆请求都是合法的,否则服务端怎么会有你的认证信息?
因此,能够猜测的是,即便是相同的帐号,若是使用的是不一样的认证信息,那么远程服务器仍是会已保存的认证信息为准,好比你的 Mac
已经实现免密登陆,可是你的 Windows
因为并无上传本身的认证信息,因此免密登陆只对 Mac
有效!
固然,若是 Mac
和 Windows
电脑的认证信息是同样的,那么服务器保存一份是否是能够免密登陆了呢?
答案是: 正确的!
因而可知,密钥登陆是针对终端设备而言的,特别适合经常使用的终端,偶尔性的电脑前往不要设置密钥,否则哪天你忘记了,人家都能直接登陆你的服务器,多可怕!
因此,要完成免密登陆,须要两个操做,一是本地客户端生成认证文件,二是远程服务器保存该认证文件.
$ cat ~/.ssh/id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC0gC0u4gR4oba4oHS59Tcc4eAVkaJHsCmys0v4IupoSLQKkdUJVxSfkmL5JZEkr7JNySD7Y52ukRcxx1ZMW0oK7lq+FvfEwzIfAOqVoM4bCoh2D/iC6Xf43ilxCM6oMhpWyITGtxPVzW/ZmmxRGcQzeVrrvoSLhOt0+L0rvFuiQZmnhkV0zqGTRKTQ5uEKycigfdItEaHFIg9fMxugN/bgeflJoEBZjAJHXkqd0mq/4AqeAbkoruEz6D+OiqBhoN8CsbaPCaccMoKd8Tze5UszC3PsQWo96nQoXMXk7HYoFwvJCAgAfKP0CaTwGEK/D7SFvXm3UMlFwAHxELr2bbTv snowdreams1006@163.com
复制代码
~/.ssh/id_rsa.pub
文件被称为公钥,即用于发送给服务器的认证文件,能够公开到互联网,只要服务器保存该公钥,那么生成该公钥的本地客户端就能免密链接到服务器.
若是你的本地客户端没有该文件,可使用 ssh-keygen -t rsa
生成一份,按照提示输入相关的信息便可,而后再次运行 cat ~/.ssh/id_rsa.pub
就能查看公钥文件的具体内容了.
本地客户端将本身的公钥文件内容追加到远程服务器的受权文件中就能完成免密登陆,那么问题来了,公钥文件保存在哪呢?
答案是: ~/.ssh/authorized_keys
[root@snowdreams1006 ~]# cat ~/.ssh/authorized_keys
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC0gC0u4gR4oba4oHS59Tcc4eAVkaJHsCmys0v4IupoSLQKkdUJVxSfkmL5JZEkr7JNySD7Y52ukRcxx1ZMW0oK7lq+FvfEwzIfAOqVoM4bCoh2D/iC6Xf43ilxCM6oMhpWyITGtxPVzW/ZmmxRGcQzeVrrvoSLhOt0+L0rvFuiQZmnhkV0zqGTRKTQ5uEKycigfdItEaHFIg9fMxugN/bgeflJoEBZjAJHXkqd0mq/4AqeAbkoruEz6D+OiqBhoN8CsbaPCaccMoKd8Tze5UszC3PsQWo96nQoXMXk7HYoFwvJCAgAfKP0CaTwGEK/D7SFvXm3UMlFwAHxELr2bbTv snowdreams1006@163.com
复制代码
这里能够看出,远程服务器的 ~/.ssh/authorized_keys
内容包含了本地客户端的 ~/.ssh/id_rsa.pub
公钥内容.
因此接下来的动做就是复制粘贴的操做,复制本地客户端的 ~/.ssh/id_rsa.pub
公钥文件内容,粘贴到远程服务器的 ~/.ssh/authorized_keys
文件中.
只不过这里须要用到 vim
操做,这也是对于新手来讲惟一的挑战了,可是咱们还有神器来简化这种复制粘贴操做!
那就是: ssh-copy-id root@snowdreams1006.cn
首先确保本地客户端已经生成公钥,这里查看一下公钥文件的内容: cat ~/.ssh/id_rsa.pub
$ cat ~/.ssh/id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC1UGGBXbqINEfQNCweCOWDlqvRfw3iIqkX9UnI71GgyJkkPUZbycw3L4dVeBkpo76OJjJhJmsAGbHAuhYLloqoNjD9+c/hk7vgP0uZHqVXehqKuP5VvOOkqeLXZkjdXQ49MhARHBVm1LaD44iOOneYclSPiRjKs+6eCxU9SQp+dVUcZMrbAE1lktGgDQEkjtFl8BE9BQkCU24r8xcOUix4iZgdDIa5gnE9YLg1rNXO6LgQG61JLvErrc2g7KkkR4i2P1R+0uV3KdYyMv8Y2aYwYGqY1PjqXUVfaJjTor4Dr8HHBp4VHE3kNVZitLJ2S7RFYuYGFXTEX0xmi6o1r5xP Administrator@snowdreams1006
复制代码
这里是 Windows
电脑,演示前并无配置免密登陆,因此执行完 ssh-copy-id root@snowdreams1006.cn
应该也像 Mac
电脑同样支持免密登陆.
$ ssh-copy-id root@snowdreams1006.cn
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/c/Users/Administrator/.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
root@snowdreams1006.cn's password: Number of key(s) added: 1 Now try logging into the machine, with: "ssh 'root@snowdreams1006.cn'" and check to make sure that only the key(s) you wanted were added. 复制代码
这里接着用已经免密登陆到远程服务器的 Mac
电脑验证一下,Windows
电脑的公钥是否已经添加到远程服务器的 ~/.ssh/authorized_keys
.
[root@snowdreams1006 ~]# cat ~/.ssh/authorized_keys
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC0gC0u4gR4oba4oHS59Tcc4eAVkaJHsCmys0v4IupoSLQKkdUJVxSfkmL5JZEkr7JNySD7Y52ukRcxx1ZMW0oK7lq+FvfEwzIfAOqVoM4bCoh2D/iC6Xf43ilxCM6oMhpWyITGtxPVzW/ZmmxRGcQzeVrrvoSLhOt0+L0rvFuiQZmnhkV0zqGTRKTQ5uEKycigfdItEaHFIg9fMxugN/bgeflJoEBZjAJHXkqd0mq/4AqeAbkoruEz6D+OiqBhoN8CsbaPCaccMoKd8Tze5UszC3PsQWo96nQoXMXk7HYoFwvJCAgAfKP0CaTwGEK/D7SFvXm3UMlFwAHxELr2bbTv snowdreams1006@163.com
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC1UGGBXbqINEfQNCweCOWDlqvRfw3iIqkX9UnI71GgyJkkPUZbycw3L4dVeBkpo76OJjJhJmsAGbHAuhYLloqoNjD9+c/hk7vgP0uZHqVXehqKuP5VvOOkqeLXZkjdXQ49MhARHBVm1LaD44iOOneYclSPiRjKs+6eCxU9SQp+dVUcZMrbAE1lktGgDQEkjtFl8BE9BQkCU24r8xcOUix4iZgdDIa5gnE9YLg1rNXO6LgQG61JLvErrc2g7KkkR4i2P1R+0uV3KdYyMv8Y2aYwYGqY1PjqXUVfaJjTor4Dr8HHBp4VHE3kNVZitLJ2S7RFYuYGFXTEX0xmi6o1r5xP Administrator@snowdreams1006
复制代码
能够看到,远程服务器已经保存了 Windows
电脑刚刚上传的公钥文件内容,因此说 ssh-copy-id
简直就是神器,不再用手动复制粘贴公钥了!
至于登录后能够作什么,我想你仍是能够到此一游,顺便再踢出其余终端之类的,最后别忘了退出登陆 exit
命令哟!
不管是密码登陆仍是密钥登陆,咱们都是采用 ssh
协议进行登陆,而密钥登陆的配置也是依赖于密码登陆,无论怎么说,二者敲入的命令都很多!
怎不能快速登陆呢?
答案是: 能够的!
既然想要快速登陆,可是登陆信息确定是必不可少的,因此无外乎是将必要的登陆信息写到配置文件中,登陆时再读取配置文件进行登陆.
原理很好理解,关键是实现过程须要咱们本身去实现么?
幸运的是: 不须要!
一样地,编辑 ssh
的配置文件设置一些登陆信息便可,配置文件的位于 ~/.ssh/config
.
Host <主机 id>
User <登陆帐号>
HostName <主机名称>
复制代码
按照上述格式,将登陆信息配置以下:
Host github.com
User snowdreams1006
Hostname ssh.github.com
Host snowdreams1006.cn
User root
Hostname ssh.snowdreams1006.cn
复制代码
其中 Host
是对外暴露的惟一标识,经过 Host
就能够代替帐号和 ip 了,两个变成一个是否是简化了呢?
原来的登陆命令是 ssh <登陆帐号>@<服务器公网 ip>
而如今则是 ssh <主机 id>
$ ssh snowdreams1006.cn
Last login: **** from *.*.*.*
Welcome to Alibaba Cloud Elastic Compute Service !
[root@snowdreams1006 ~]#
复制代码
推荐 SecureCRT
图形化工具远程链接 Linux
实例,图形化工具基本上很容易上手,配置一下就能够登陆成功了,这里已 Windows
电脑为例演示一下相关过程.
首次登陆后会弹出快速链接配置,基本上是关于服务域名端口之类的,并无密码的配置项.
点击链接后会弹出是否加入主机指纹之类的,选择接受并保存.
输入密码后选择肯定,过一会就链接到服务器了.
来都来了,仍是随便敲个命令再走吧!
登陆控制台找到 ECS 服务器
,而后找到本身的云服务器,所以远程链接->链接密码->用户名/密码,而后就能够登陆成功了!
密码登陆和密钥登陆二者均存在适合场景,若是以为密码登陆不安全的话,也能够禁用密码登陆只保留密钥登陆!
远程登陆到服务器,找到 /etc/ssh/ssh_config
文件并编辑以下内容来禁用密码登陆.
Host *
PasswordAuthentication no
复制代码
$ ssh <登陆帐号>@<服务器公网 ip>
复制代码
ssh root@snowdreams1006.cn
$ ssh <登陆帐号>@<服务器公网 ip>
复制代码
ssh root@snowdreams1006.cn
$ ssh <主机 id>
复制代码
ssh snowdreams1006.cn
若是你以为本文对你有所帮助,欢迎点赞留言告诉我,你的鼓励是我继续创做的动力,不妨顺便关注下我的公众号「雪之梦技术驿站」,按期更新优质文章哟!