Linux SSH修改密码详解 (linux ssh 更改密码)

SSH是Secure Shell的缩写,是一种加密方式。它提供了远程登录和管理Linux服务器的安全通道。当我们使用SSH向远程服务器登录时,需要输入用户名和密码。但是,有时候我们的用户名和密码可能会被泄露或者忘记,这时候我们就需要修改密码来保证服务器的安全。本文介绍了如何在Linux中修改SSH密码。

1. 登录远程服务器

之一步,我们需要登录我们的远程服务器。我们可以使用PUTTY或其他SSH客户端进行登录。以PUTTY为例,我们打开PUTTY,输入远程服务器的IP地址和端口号,点击Open。

在打开PUTTY之后,我们需要输入用户的名称和密码进行登录,如果我们已经登录,我们就可以直接输入命令来操作服务器。

2. 修改密码

在我们成功登录服务器之后,需要使用以下命令来修改密码:

“passwd”命令。输入“passwd”命令后,我们会被提示输入当前密码。输入当前密码后,我们需要输入新密码两次。这一过程中,密码输入是不会显示的,这是为了防止密码被他人窥探。

例如:

$ passwd

Changing password for user .

(old password):

Enter new UNIX password:

Retype new UNIX password:

passwd: password updated successfully

3. 防止SSH暴力破解

修改密码之后,我们需要加强我们的服务器安全。其中,防止SSH暴力破解是最重要的措施。SSH暴力破解指的是攻击者通过大量猜测用户名和密码的方式强行进入我们的服务器。为了防止SSH暴力破解,我们可以采取以下措施:

3.1 禁止root用户登录

我们可以禁止root用户登录,这样可以防止攻击者使用root权限直接攻击我们的服务器。我们可以编辑ssh配置文件来禁止root用户登录。在编辑之前,我们需要使用下述命令创建ssh备份文件:

$ sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config_backup

然后使用下述命令打开ssh配置文件:

$ sudo nano /etc/ssh/sshd_config

在文件末尾添加下面一行:

PermitRootLogin no

然后保存并关闭编辑器,最后重启ssh服务:

$ sudo systemctl restart ssh

3.2 使用强密码

我们需要使用强密码来保护我们的服务器。不要使用容易被猜测的密码,如生日、姓名等。密码应该包含大小写字母、数字和特殊字符。

3.3 使用SSH密钥对

我们还可以使用SSH密钥对来保证服务器的安全性。SSH密钥对是一种双重验证方式,客户端需要提供私钥来完成身份验证,同时需要提供公钥给服务器。在使用SSH密钥对前,我们需要为远程服务器生成一对公钥和私钥。

我们可以使用以下命令来生成SSH密钥对:

$ ssh-keygen -t rsa

默认情况下,密钥对将生成在用户家目录的隐藏文件夹“.ssh”中。在我们安装ssh-keygen之后,我们可以在基于SSH的系统间使用密钥对进行身份验证。如果您想使用Passphrase来加密SSH密钥,可以将“-t rsa”替换成“-t rsa -b 4096 -C “您的邮箱地址””。

4.

修改SSH密码的过程非常容易。我们只需要在命令行中输入“passwd”命令即可。为了加强服务器安全性,我们还需要防止SSH暴力破解。禁止root用户登录、使用强密码、使用SSH密钥对都是非常有效的方法。期望您能够通过本文了解到如何在Linux中修改SSH密码,并掌握一些服务器安全方面的技巧。

相关问题拓展阅读:

【Linux】SSH 使用密码/公钥远程登录总结

本文是笔者查阅网上资料做的总结,关于SSH原理,什么是对称加密和

非对称加密

,本文不过多介绍。这里介绍一下SHH的工作过程、配制方法,可能出现的问题及解决方法。

说明:本文中涉及的例子,SSH客户端为:

本地主机

A,SSH服务器为:服务器B

SSH协议采用C-S(客户端-服务器端)架构进行双方的身份验证以及数据的加密。

服务器端组件监听指定的端口,负责安全连接的建立、对连接方的身份认证、以及为通过身份认证的用户建立正确的环境。

客户端负责发起最初的TCP握手、安全连接的建立、验证服务器的身份与之前记录中的一致、并将自己的验证信息提供给服务器。

一个SSH会话的建立过程分为两个阶段。之一阶段,双方沟通并同意建立一个加密连接通道以供后续信息传输用。第二阶段,对请求接入的用户进行身份验证以确定服务器端是否要给该用户开放访问权限。

当客户端发起TCP连接时,服务器端返回信息说明自己支持的协议版本,如果客户端上支持的协议与之匹配,则连接继续。服务器会提供自己的公共主机密钥(public host key)以让客户端确认自己访问的是正确的机器。

然后,双方采用一种Diffie-Hellman算法共同为该会话建立密钥。每一方的一部分私有数据,加上来自对方的一部分公共数据,通过这种算法计算,能够得出完全相同的密钥用于本次会话。

整个会话的通讯内容都使用该密钥进行加密。这个阶段使用的

公钥

/私钥对与用户验证身份用的SSH密钥是完全无关的。

经典Diffie-Hellman算法的计算步骤如下:

这个共享密钥的加密方式被称为

二进制

数据包协议(binary packet protocol)。该过程能够让双方平等的参与密钥生成的过程,而不是由单方掌握。这种共享密钥生成的过程是安全的,双方没有交换过任何未经加密的信息。

生成的密钥是对称式密钥,一方用于加密信息的密钥等同于另一方用于解密信息的密钥,而任何第三方由于不持有该密钥,是无法解密双方传递的内容的。

会话加密通道建立后,SSH开始进入用户认证阶段。

下一步,服务器验证用户身份以决定是否准许其访问。验证有不同的方式,选择的验证方式取决于服务器的支持。

最简单的验证是密码验证:服务器要求客户端输入密码,客户端输入的密码经过上述的通道加密传输给服务器。

虽然密码是加密过的,然而该方法仍然不被推荐,因为用户经常为了省事而使用过于简单的密码,而这类密码很容易就能够被自动化脚本破解。

更流行的验证方式是SSH密钥对,这也是当前最推荐的方式。SSH密钥对是非对称密钥,私钥和公钥分别用于不同的功能。

公钥用于加密,而私钥用于解密。公钥可以随意上传、共享,因为公钥的流通并不会危及到私钥的保密性。

SSH密钥对的验证过程起始于上一部分加密通道建立之后,其具体执行步骤如下:

简单来说,服务器端用公钥加密信息,客户端用私钥解密信息以证明自己持有私钥。该过程同时使用了对称加密和非对称加密,两种方式各有自己的功用。

命令如下:

用户名

:为要登录的服务器B中已存在的用户账户名

IP地址

:为服务器B的IP地址

-p

端口号

:用来指定端口号,默认为22

之一次登录时,会提示如下提示:

大概意思是说,你正在访问的主机不能验证它的真实性,它的RSA key(当前访问主机的公钥)指纹是怎样的,你确定要继续连接吗?

输入yes继续,会提示,已永久把当前访问主机的RSA key添加到了已知主机文件(用户目录下,.ssh

文件夹

中的knwon_hosts文件)中。之后再次 SSH 登录就不再有该提示了。

接着,输入登录账户的密码即可。

SSH 密码登录,需要服务器开启密码验证权限,编辑服务器SSH配置命令如下:

在 sshd_config 文件中,Protocol 2 下面 #PasswordAuthentication yes,将前面的#号去掉,保存退出。

公钥登录,即免密码登录。避免的每次登录都要输入的麻烦,也防止了

中间人攻击

。是SSH远程登录最常用的登录方式。

提示输入密钥对名称,直接回车,使用默认名称即可;

提示输入密码(使用私钥时,要输入密码),直接回车,不使用密码即可。

首先,登录服务器B,在进行下面的操作。

找到 #PubkeyAuthentication yes,删除 #号,保存退出。

重启 ssh 服务

也可指定验证私钥:

本地主机A,生成密钥对后:

sudo vim /etc/selinux/config

Linux下配置SSH服务,以用户名root,密码123456能够远程登录到你的主机.

修改你的ssh配置文件,将其中的PermitRootLogin的参数设置为yes

配置文件路径如:/etc/ssh/sshd_config

重启ssh服务,命令如下:

/etc/init.d/sshd

restart

/etc/init.d/ssh

restart

然后修改root的密码,将密码修改为123456.

linux ssh 更改密码的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于linux ssh 更改密码,Linux SSH修改密码详解,【Linux】SSH 使用密码/公钥远程登录总结,Linux下配置SSH服务,以用户名root,密码123456能够远程登录到你的主机.的信息别忘了在本站进行查找喔。


数据运维技术 » Linux SSH修改密码详解 (linux ssh 更改密码)