前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Linux日常运维-SSHD(一)

Linux日常运维-SSHD(一)

作者头像
运维小路
发布于 2024-11-01 11:06:07
发布于 2024-11-01 11:06:07
35800
代码可运行
举报
文章被收录于专栏:运维小路运维小路
运行总次数:0
代码可运行

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

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

Linux日常运维-主机名&hosts

Linux日常运维-history

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

Linux日常运维-SSHD(二)

Linux日常运维-ENV(一)

Linux日常运维-ENV(二)

Linux日常运维-任务计划

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

免密码登录

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

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

配置免密登录

1.生成公钥及私钥

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 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
代码运行次数:0
运行
AI代码解释
复制
[root@localhost]# ls -l /root/.ssh/
总用量 8
-rw-------. 1 root root 1675 628 22:57 id_rsa     //私钥
-rw-r--r--. 1 root root  408 628 22:57 id_rsa.pub //公钥

3.把公钥传输其他服务器

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#需要输入对方服务器的密码
#也可以手工把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
代码运行次数:0
运行
AI代码解释
复制
#虽然公钥在原始服务器的名字是内容是/root/.ssh/id_rsa.pub,但是复制过来名字会变成authorized_keys
#如果该服务器允许多个其他机器过来免密登录,则该文件会有多行。
[root@localhost .ssh]# cd /root/.ssh/
[root@localhost .ssh]# ls -l
总用量 4
-rw-------. 1 root root 408 628 23:02 authorized_keys

5.验证免密登录

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

[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 删除。

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

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
三步实现Linux下主机之间SSH免密登录
小结:  以上配置只是单向免密,如果需要配置目标服务器与源服务器之间互相免密登录,需要在目标服务器上做同样的操作,将公钥上传至源服务器端即可。
非著名运维
2022/06/22
7140
Linux|免密登录又又又失败了?
虽然自认为免密就是创建一套ssh key pair,然后把public key交给对方放到其authorized_keys里就可以了。
琉璃康康
2023/11/16
5010
Linux|免密登录又又又失败了?
MAC下 Centos7 下 免账号免密码便捷登录服务器的正确姿势 实践笔记
MAC下 Centos7 下 免账号免密码便捷登录服务器的正确姿势 实践笔记 我使用macOS Mojava 10.14.6版本 zsh版本 zsh 5.3 (x86_64-apple-darwin18.0) eg: ssh taiwanji (免账号免密码便捷登录 taiwanji服务器) 登录效果 1.客户端操作(自己使用的电脑): 1.1生成密钥 2.服务器配置(被免密登录的服务器) 2.1公钥加到服务器(方式一) 2.2公钥加到服务器(方式二) 3.免账号便捷登录服务器 4.登录 我使用m
cookily
2020/09/11
1.6K0
MAC下 Centos7 下 免账号免密码便捷登录服务器的正确姿势 实践笔记
linux上配置ssh实现免密登录
当有多台服务器彼此进行通信时,可以通过使用ssh来免去输入密码的步骤。这篇文章将以两台服务器作为范例,演示如何通过ssh进行登录。
张子阳
2018/09/28
4.8K0
配置linux服务器间免密登录
服务器的密码不是一成不变的,为避免密码变更对服务器间调用的影响,可以设置服务器的免密登录。
品茗IT
2023/10/22
6840
linux服务器间ssh免密登录
在linux系统中密码的保存是非常重要的,在企业中的WEB集群环境中,进行统一的版本更新和配置文件的同步免密登录是非常重要的。在自动化运维,统一管理都是离不开Linux的免密登录。
释然IT杂谈
2020/07/14
13.5K0
SSH远程连接服务安装与介绍
SSH( Secure Shell ,安全外壳协议 )命令是openssh套件中的客户端连接工具,采用了非对称加密算法aymmetric encryption algorithm实现安全的远程登录服务器;
全栈工程师修炼指南
2022/09/28
2.5K0
SSH远程连接服务安装与介绍
零基础教程:轻松配置SSH免密登录
SSH免密登录让你无需每次都输入密码就能轻松登录远程服务器,这可是大大提高生产力的利器。以下是详细的配置步骤,覆盖了跨平台(Windows、Linux、macOS)的场景。准备好了吗?让我们开始吧!
一个程序猿的异常
2024/05/23
3.2K0
零基础教程:轻松配置SSH免密登录
Linux免密登陆
参考 Linux机器之间免密登录设置 1. 配置两台Linux服务器,均为Centos7 master: 192.168.1.89 node: 192.168.1.65 2. master生成ssh密钥 ssh-keygen -t rsa 一路回车 [root@bogon .ssh]# ssh-keygen -t rsa Generating public/private rsa key pair. Enter file in which to save the key (/root/.ssh
夹胡碰
2020/08/14
3.5K0
使用SSH服务远程登录Linux主机
SSH是一种能够以安全的方式提供远程登录的协议,也是目前远程管理Linux系统的首选方式。它是以密文传输来保证安全。一般情况下在装Linux系统的过程中是默认安装的。
星哥玩云
2022/07/25
4.1K0
面试官:哥们儿,你做过linux服务器间的文件搬运程序么?
解决linux服务器间的数据、文件搬运和免密登录等问题; 从多种业务环境入手,以不同方式实现服务器间的文件传输;
陈哈哈
2020/07/03
9000
011SSH免密码登陆
单向无密码访问远程服务器操作比较简单,比如服务器A需要无密码访问服务器B(A–>B),那么只需要在服务器A生成密钥对,将生成的公钥上传到服务器B的相关用户目录下的.ssh目录中(没有的话手动创建,注意,它的目录权限是700),并将公钥文件名称改为authorized_keys(注意,这个文件的权限应该是644),如果已存在authorized_keys文件,则把id_rsa.pub的内容追加到authorized_keys文件中。请注意.ssh目录及authorized_keys文件的权限,权限不符,会使配置无效。具体操作如下:
上善若水.夏
2018/09/28
1.3K0
Linux服务器之SSH 密钥创建及密钥登录设置
执行密钥生成命令,基本上是一路回车既可以了,但是需要注意的是:执行命令的过程中是会提示。输入密钥的密码的(如下图中红色箭头处,输入两次相同的,即是又一次确认密码),不需要密码直接回车就行。
兮动人
2021/06/11
8.2K0
Linux服务器之SSH 密钥创建及密钥登录设置
Linux下配置SSH建立信任 免密登录
在搭建Linux集群服务的时候,主服务器需要启动从服务器的服务,如果通过手动启动,集群内服务器几台还好,要是像阿里1000台的云梯hadoop集群的话,轨迹启动一次集群就得几个工程师一两天时间,是不是很恐怖。如果使用免密登录,主服务器就能通过程序执行启动脚步,自动帮我们将从服务器的应用启动。而这一切就是建立在ssh服务的免密码登录之上的。所以要学习集群部署,就必须了解linux的免密码登录。
菲宇
2022/12/02
1.8K0
Linux下配置SSH建立信任 免密登录
Linux—OpenSSH服务
OpenSSH 是 SSH (Secure SHell) 协议的免费开源实现。SSH协议可以用来进行远程控制或在计算机之间传送文件。而实现此功能的传统方式,如telnet、ftp都是极为不安全的,并且会使用明文传送密码。OpenSSH提供了服务端后台程序和客户端工具,用来加密远程控制和文件传输过程中的数据,并由此来代替原来的类似服务。
Alone-林
2022/09/29
3.3K0
linux远程登录ssh免密码配置方法
二、原理 很简单,使用ssh-keygen 在主机A上生成private和public密钥,将生成的public密钥拷贝到远程机器主机B上后,就可以使用ssh命令无需密码登录到另外一台机器主机B上。
习惯说一说
2019/06/30
5.2K0
ssh 双机互信:免密码登录设置步骤及常见问题
在 linux 系统管理中,设置免密码登录,进行机器的批量管理是最常用的一个方法。比如针对几十甚至上百台线上机器,通常我们会设置一台“发布机”作为中央控制机对其它线上机器免密码登录,然后进行软件、配置文件的分发、更新、部署。当然了,针对上面的问题,解决方案并非最优且唯一,比如你也可以用 expect 模拟自动输入来完成自动登录验证这一过程,或者用现在一些开源的软件自动化配置和部署工具,比如 Puppet,但这都不在本文的讨论范畴,今天咱们要说的就是这种最原始、最有效、最直接的方式:免密码登录。 (1)问题:
用户1177713
2018/02/24
3.6K0
利用SSH(无密码)免登录来节省你的生命
SSH 协议是事实上的互联网基石之一。在 SSH 协议出现之前(1995 年由 Tatu Ylonen 设计),通过互联网远程登录其他设备(telnet)的过程是明文的。这意味着,整个通信过程,很容易被旁路嗅探,泄露敏感信息。
sunsky
2020/08/20
1.5K0
linux 远程ssh免密登录
我们平时开发、运维操作linux过程中经常需要实现将远程文件拷贝到本地或者本地文件拷贝到远程;执行远程命令等操作;这个时候建立ssh免密登录应该是一个比较好的选择;
乔达摩@嘿
2020/09/10
4.4K0
RHEL7.4下实现SSH免密码登录
ssh是记录你密码信息的, 没有登录过root (或是没有执行过ssh-keygen命令),是没有.ssh 文件夹的
星哥玩云
2022/07/26
4300
RHEL7.4下实现SSH免密码登录
相关推荐
三步实现Linux下主机之间SSH免密登录
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验