首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Linux日常运维-SSHD(一)

Linux日常运维-SSHD(一)

作者头像
运维小路
发布2024-11-01 19:06:07
发布2024-11-01 19:06:07
1.6K0
举报
文章被收录于专栏:运维小路运维小路

作者介绍:简历上没有一个精通的运维工程师。请点击上方的蓝色《运维小路》关注我,下面的思维导图也是预计更新的内容和当前进度(不定时更新)。

本小章内容就是Linux进阶部分的日常运维部分,掌握这些日常运维技巧或者方法在我们的日常运维过程中会带来很多方便。主要从以下几个部分来讲解:

Linux日常运维-主机名&hosts

Linux日常运维-history

Linux日常运维-SSHD(一)(本章节)

Linux日常运维-SSHD(二)

Linux日常运维-ENV(一)

Linux日常运维-ENV(二)

Linux日常运维-任务计划

我们前面讲了如何ssh登录,都是使用的密码,其实在ssh登录里面还有几个经常遇到的问题,比如我能否不使用ssh密码,而是用一种免密的方式登录(目前一般的公有云平台创建新的云主机都可以选择使用密码还是密钥的),而且ssh端口默认都是22,是否可以修改,如果为了安全,是否可以不允许root登录。

免密码登录

先普及2个概念,在免密登录的时候一般会涉及到2个文件,一个私钥,一个公钥,他们是配对的。私钥就是放本地服务器里面,公钥就是放到我们想要免密登录的服务器里面,如果从我们从云平台开通主机的时候,选择密钥登录,则会获得一个文件,它就是私钥。如果你不愿意用系统给你生成的,你也可以上传你自己定义好的公钥。

在实际运维中,部分软件是要求配置免密登录才能更好运行,甚至必须要免密才能运行。还有就是可以给服务器设置一个自己都不记得甚至空密码的情况下,然后使用密钥登录来提高安全性。

配置免密登录

1.生成公钥及私钥

代码语言:javascript
复制
# ssh-keygen 输入该命令以后,一直回车即可。
# 这里也可以添加很多参数,甚至可以设置密钥的密码。

[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.查看公钥和私钥

代码语言:javascript
复制
[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.把公钥传输其他服务器

代码语言:javascript
复制
#需要输入对方服务器的密码
#也可以手工把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

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.查看远程服务器的公钥

代码语言:javascript
复制
#虽然公钥在原始服务器的名字是内容是/root/.ssh/id_rsa.pub,但是复制过来名字会变成authorized_keys
#如果该服务器允许多个其他机器过来免密登录,则该文件会有多行。
[root@localhost .ssh]# cd /root/.ssh/
[root@localhost .ssh]# ls -l
总用量 4
-rw-------. 1 root root 408 6月  28 23:02 authorized_keys

5.验证免密登录

代码语言:javascript
复制
#未输入密码,也可以直接登录。
#登录的时候,它会读取本地私钥和服务器里面的公钥进行验证,验证通过则登录成功。

[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.把私钥拿到win 也可以登录成功服务器,使用ssh软件,选择密钥登录也可以使用。

3.如果不做任何操作的情况下,它同时支持密码和密钥两种方式。也就是我可以拿密钥去登录,也可以拿密码去登录。

4.同一个服务器,允许配置多个公钥,让不同的私钥都可以使用免密登录。在实际authorized_keys文件里面就是体现有多行。

5.使用密钥登录可以避免密码被撞库的可能性,从而提高系统安全性。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-07-22,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 运维小路 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 免密码登录
    • 1.生成公钥及私钥
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档