背景与目的
Ping测试常被用于测试网络中两台主机之间是否互相连通,但是,大多数Windows操作系统(包括桌面版和服务器版)默认都是只允许ping其他主机而不允许其他主机ping自己。下面演示如何在Windows系统上开启基于ICMPv4协议的Ping.
继续阅读“设置Windows防火墙以允许被ICMP Ping(两种配置方式)”Ping测试常被用于测试网络中两台主机之间是否互相连通,但是,大多数Windows操作系统(包括桌面版和服务器版)默认都是只允许ping其他主机而不允许其他主机ping自己。下面演示如何在Windows系统上开启基于ICMPv4协议的Ping.
继续阅读“设置Windows防火墙以允许被ICMP Ping(两种配置方式)”第一部分:本文中释放系统内存的原理
第二部分:创建用于释放内存的Shell脚本并加入到系统定时任务
第三部分:详细分析Shell脚本中的每一条指令
第四部分:系统定时任务的工作方式
继续阅读“详解CentOS中定时执行释放内存的Shell脚本及相关原理”
vi /etc/hostname
注:由于静态主机名是系统初始化时从/etc/hostname中读取的,所以修改其中的内容为自己想要的主机名即可实现对静态主机名的修改。
之后reboot以生效。
hostname aaa
注:aaa为新主机名。
查看主机名:
hostname
上述命令查看主机名发现显示的主机名是aaa ,但是命令行提示符前面的主机名并没有改变。此时如果是在纯文本界面,使用Alt+Fn+F3 或Alt+F3 组合键即可以新的主机名(aaa)进行登陆,如果在图形化界面中,直接打开一个新的模拟终端就可以看到新的主机名(aaa)了。
注:reboot后,该方法所做的修改失效。
hostnamectl是CentOS-7中新增的一个用于修改主机名的指令。在CentOS中有“static静态”、“transient瞬态”和“pretty灵活”三种主机名命名方式(在static和transient形式的主机名中不允许出现特殊字符和空格,而在pretty形式的主机名中则没有这些限制,pretty形式的主机名只是用于展示给终端用户。),使用hostnamectl可以很方便的修改这三种状态的主机名。
同时修改static, transient, pretty三种形式的主机名:
hostnamectl set-hostname aaa
仅修改静态形式主机名:
hostnamectl --static set-hostname aaa
仅修改瞬态形式主机名:
hostnamectl --transient set-hostname aaa
仅修改灵活形式主机名:
hostnamectl --pretty set-hostname aaa
注:使用方法三修改后需reboot以生效。
客户机操作系统:Ubuntu Linux
服务器操作系统:CentOS Linux
免密登陆其实就是使用密钥文件代替密钥进行身份验证。这里的密钥文件就是公钥和对应的私钥,将公钥部署在远程服务器上,私钥部署在客户机上。在服务器和客户机上配置好密钥文件后,当客户机向服务器发起连接请求的时候,客户机会向服务器表达使用密钥文件进行身份验证的请求并向服务器发送公钥;随后,服务器会在客户机对应用户的主目录下找寻公钥文件并与收到的公钥文件进行对比;如果公钥文件的对比结果一致,服务器会使用公钥加密一个文件发送给客户机;客户机在收到公钥加密的文件后使用自己的私钥进行解密,然后将解密后的内容发送给服务器;如果服务器收到的解密内容与原内容一致则身份验证成功,两台计算机之间成功建立连接。
使用ssh-keygen 生成公钥与私钥,将公钥部署在服务器上,私钥部署在客户机上。
1.生成密钥文件
命令:
ssh-keygen -t rsa -P "password"
之后弹出提示:
Generating public/private rsa key pair. Enter file in which to save the key (/home/yourname/.ssh/id_rsa):
此时如果不希望改变密钥文件的默认保存路径则直接回车即可。
注0:上述命令中的password是用于加密私钥的密码。为了尽可能保证私钥不被非授权使用,我建议在创建密钥文件时务必设置加密私钥的密码,不可省略。
这时,在/home/yourname/.ssh/id_rsa 目录下就可以看到id_rsa 、id_rsa.pub 和known_hosts 这三个文件。
其中,
id_rsa:私钥文件
id_rsa.pub:公钥文件
know_hosts:已知主机的公钥文件
2.复制公钥至服务器
命令:
scp -p ~/.ssh/id_rsa.pub root@<server ip>:/root/.ssh/authorized_keys
之后会要求输入远程服务器的登陆密码,输入密码后回车即可。
当然,也可以登录服务器后用 vim 编辑器打开 .ssh/ 目录下的 authorized_keys 文件,将本地 id_rsa.pub 文件中的内容复制进去,之后保存退出即可。若有多个公钥,则在 authorized_keys 文件中换行后继续输入公钥文件中的内容即可。
3.登录服务器
命令:
ssh root@<server ip>
回车后会要求输入 本地私钥的解密密码(即第一步中设置的“password”),解密私钥后就可以登录服务器了。
注1:上文路径中出现的“yourname”是指你登陆客户机时使用的用户名。
注2:在部署公钥的时候虽然使用了服务器相应登陆账户(如root账户)的密码,但是之前所生成的公钥与私钥和这个密码并没有联系,输入该密码仅仅是为了登陆远程服务器,将公钥文件部署到服务器上。
2022 年 10 月 26 日第 02 次更新
2020 年 02 月 26 日第 01 次更新