作者介绍:在简历上没有标榜自己为精通的运维工程师。请点击上方的蓝色《运维小路》关注我,下面的思维导图展示了计划更新的内容和当前进度(不定期更新)。
本小节内容属于Linux进阶部分的日常运维内容,掌握这些日常运维技巧或方法将在我们的日常运维过程中带来诸多便利。主要从以下几个部分进行讲解:
Linux日常运维-主机名&hosts
Linux日常运维-history
Linux日常运维-SSHD(一)(本章节)
Linux日常运维-SSHD(二)
Linux日常运维-ENV(一)
Linux日常运维-ENV(二)
Linux日常运维-任务计划
我们之前讨论了如何通过ssh进行登录,通常是使用密码进行的。然而,在ssh登录过程中还有几个常见的问题,比如我们是否可以不使用ssh密码,而采用一种无密码的方式进行登录(目前许多公有云平台在创建新的云主机时,可以选择使用密码还是密钥),以及ssh端口默认是22,是否可以修改,或者为了安全,是否可以禁止root登录。
无密码登录时通常会涉及到两个概念:私钥和公钥,它们是一对的。私钥存放在本地服务器中,而公钥则存放在我们希望无密码登录的服务器中。如果从云平台开通主机时选择密钥登录,你将获得一个文件,这就是私钥。如果你不想使用系统生成的密钥,你也可以上传自己定义的公钥。
在实际运维中,某些软件要求配置无密码登录才能更好地运行,甚至必须使用无密码登录。还可以设置服务器使用一个你自己都不知道或者是空的密码,然后通过密钥登录来提高安全性。
配置无密码登录
1.生成公钥及私钥
# 输入该命令后,一直按回车即可。 # 这里也可以添加许多参数,甚至可以设置密钥的密码。 [root@localhost ~]# ssh-keygen Generating public/private rsa key pair. Enter file in which to save the key (/root/.ssh/id_rsa): Created directory '/root/.ssh'. 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:4jzW3nqWv4wxN7j4v0LjFI+DUuYFVQ1xeiS6fUF3yGo root@localhost.localdomain The key's randomart image is: +---[RSA 2048]----+ | ...==+.o| | . . *+..| | .. ..o | | o ooE. . | | .+So.=. . | | o.oo *... | | =..+++o | | . o o*B . | | +==+*o | +----[SHA256]-----+
2.查看公钥和私钥
[root@localhost]# ls -l /root/.ssh/ 总用量 8 -rw-------. 1 root root 1675 6月 28 22:57 id_rsa //私钥 -rw-r--r--. 1 root root 408 6月 28 22:57 id_rsa.pub //公钥
3.将公钥传输到其他服务器
# 需要输入对方服务器的密码 # 也可以手动将id_rsa.pub文件的内容放到/root/.ssh/authorized_keys中,注意权限 # 我们将公钥传输到108服务器后,就可以无密码登录108服务器了 [root@localhost .ssh]# ssh-copy-id 192.168.179.108 /usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/root/.ssh/id_rsa.pub" The authenticity of host '192.168.179.108 (192.168.179.108)' can't be established. ECDSA key fingerprint is SHA256:KcCHSnldK0xz0g82jmvKQ5bFYI8Wn04rPYbmK94nwhQ. ECDSA key fingerprint is MD5:f3:3b:6d:09:54:06:57:b0:13:3a:75:e1:ca:79:70:bd. 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.179.108's password: Number of key(s) added: 1 <p>Now try logging into the machine, with: "ssh '192.168.179.108'" and check to make sure that only the key(s) you wanted were added.
4.查看远程服务器的公钥
# 虽然公钥在原始服务器的名字和内容是/root/.ssh/id_rsa.pub,但在复制到新服务器后名字会变成authorized_keys</p><h1>如果该服务器允许多个其他机器无密码登录,则该文件会有多行。</h1><p>[root@localhost .ssh]# cd /root/.ssh/ [root@localhost .ssh]# ls -l 总用量 4 -rw-------. 1 root root 408 6月 28 23:02 authorized_keys
5.验证无密码登录
# 未输入密码,也可以直接登录。</p><h1>登录时,它会读取本地的私钥和服务器中的公钥进行验证,验证通过则登录成功。</h1><p>[root@localhost .ssh]# ssh 192.168.179.108 Last login: Fri Jun 28 23:09:05 2024 from 192.168.179.1 [root@localhost ~]#
总结
1.这里所有的操作都是基于root账号进行的,实际上也可以使用普通账号配置无密码登录。
2.将私钥带到Windows上也可以成功登录服务器,使用ssh软件并选择密钥登录即可。
3.如果不进行任何操作,它同时支持密码和密钥两种登录方式。也就是说,可以使用密钥登录,也可以使用密码登录。
4.同一台服务器,可以配置多个公钥,允许不同的私钥使用无密码登录。在实际的authorized_keys文件中,这会体现为多行。
5.使用密钥登录可以避免密码被撞库的风险,从而提高系统的安全性。
以上就是Linux日常运维-SSHD(一)的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号