一、操作场景
云服务器提供重置实例登录密码的功能。主要应用在以下场景:
·首次从本地计算机远程登录实例。
·首次使用远程登录软件(或使用 SSH )登录 Linux 实例前,你需要通过此操作重置用户名(root)的密码。
·首次登录 Windows、Linux 实例前,若你在创建实例时登录方式选择了自动生成密码,则建议通过此操作重置管理员账号(如 Administrator)的密码,更换为自定义登录密码。
·忘记密码:如果你遗忘了密码,你可以在控制台上重新设置实例的登录密码。
二、注意事项
·云服务器控制台支持在线重置与离线重置两种重置密码的方式。
·如你选择离线重置密码:
·对于正在运行的实例,在重置密码过程中会关闭服务器。为了避免数据丢失,请提前规划好操作时间,建议在业务低谷时进行此操作,将影响降到最低。
·通过“关机不收费”模式关机的实例不支持重置密码,如需重置请开机后进行。
·如你选择在线重置密码,则需要确保你选择实例的实例状态与自动化助手状态均为运行中。
三、操作步骤
重置单台实例密码重置多台实例密码
1. 登录 云服务器控制台。
2. 在实例的管理页面,根据实际使用的视图模式进行操作:
·列表视图:选择需重置密码云服务器所在行右侧的更多 > 密码/密钥 > 重置密码。如下:
·页签视图:在需重置密码云服务器页面中,单击重置密码。如下:
3. 在重置密码步骤中,填写需要重置密码的用户名、对应的新密码、确认密码,以及选择重置方式在线重置和离线重置,单击重置密码。如下:
注意:其中用户名类型默认为系统默认,并使用对应操作系统的默认用户名(Windows 系统默认用户名为 Administrator、Ubuntu 系统默认用户名为 ubuntu、其他版本 Linux 系统默认为 root)。如你需指定其他用户名,请选择指定用户名并输入对应用户名称。
1. 登录 云服务器控制台。2. 在实例的管理页面,勾选需要重置密码的云服务器,单击上方的重置密码。如下:3. 在重置密码步骤中,填写需要重置密码的用户名、对应的新密码、确认密码,以及选择重置方式在线重置和离线重置,单击重置密码。如下:注意:其中用户名类型默认为“系统默认”,并使用对应操作系统的默认用户名(Windows 系统默认用户名为 Administrator、Ubuntu 系统默认用户名为 ubuntu、其他版本 Linux 系统默认为 root)。如你需指定其他用户名,请选择指定用户名并输入对应用户名称。
在线重置密码离线重置密码
注意:说明:
注意:前提条件:需确保你选择实例的实例状态与自动化助手状态均为运行中,否则无法在线重置密码。
1. 确认需要重置密码的用户名。
注意:Ubuntu 系统默认用户名为 ubuntu。
2. 输入符合复杂度要求的新密码和确认密码。
注意:当同时选中 Linux 机器与 Windows 机器时,密码复杂性要求需按照 Windows 系统的要求。
3. 单击重置密码,完成重置。
4. 在重置密码完成后,你可以前往目标实例的详情页查看重置密码的结果,选择执行命令,单击命令所在行右侧的查看执行详情。
注意:说明:
说明:如你选择离线重置密码,对于正在运行的实例,在重置密码的过程中会关闭服务器。建议在业务低谷时进行此操作,以降低关闭服务器带来的影响。1. 确认需要重置密码的用户名。注意:Ubuntu 系统默认用户名为 ubuntu。2. 输入符合复杂度要求的新密码和确认密码。注意:当同时选中 Linux 机器与 Windows 机器时,密码复杂性要求需按照 Windows 系统的要求。3. 阅读并勾选离线重置须知,单击重置密码,完成重置。
四、注意事项
第三方安全软件如360、火绒等可能会拦截 cloudbase-init 和 tat 的 net user 命令设置密码。
腾讯云已经对控制台的密码重置模块进行了重新设计,优先采用 TAT 密码重置方式。TAT 密码重置的主要优势是:无需重启机器。
优化代码以避免被安全软件拦截,具体操作如下:
1. 登录 云服务器控制台。
2. 在实例管理页面,单击实例名称以进入实例详细信息页面:
3. 在实例详情页面,选择执行命令 > 执行命令。如下:
4. 在弹出的“执行命令”窗口中,根据实例的操作系统进行以下操作:
Linux 实例Windows 实例1. 在“命令内容”中,输入以下命令:#!/bin/bash# {{userName}}# {{tat-hidden:newPassword}}# Get the password from the second line comment.userName=$(sed -n '2s/^..//p' "$0")newPassword=$(sed -n '3s/^..//p' "$0")if [ -z "$userName" ]; then echo 'userName 为空(userName is empty)' exit 1fiif [ -z "$newPassword" ]; then echo 'newPassword 为空(newPassword is empty)' exit 2fiif whereis chpasswd &> /dev/null; then echo "$userName:$newPassword" | chpasswd || exit $? elif passwd –help | grep "stdin" > /dev/null 2>&1; then echo "$newPassword" | passwd "$userName" –stdin || exit $?else echo -e "$newPassword\\n$newPassword" | passwd "$userName" || exit $?fiif grep -q "PasswordAuthentication no" /etc/ssh/sshd_config; then sed -i "s/PasswordAuthentication no/PasswordAuthentication yes/g" /etc/ssh/sshd_config if systemctl list-units 2> /dev/null | grep -q 'sshd'; then systemctl restart sshd > /dev/null 2>&1 elif systemctl list-units 2> /dev/null | grep -q 'ssh'; then systemctl restart ssh > /dev/null 2>&1 elif initctl list 2> /dev/null | grep -q '^ssh '; then initctl restart ssh > /dev/null 2>&1 elif [ -x /etc/init.d/sshd ]; then /etc/init.d/sshd restart > /dev/null 2>&1 elif [ -x /etc/init.d/ssh ]; then /etc/init.d/ssh restart > /dev/null 2>&1 fifiif ! faillock –user "$userName" –reset &> /dev/null; then pam_tally2 –user "$userName" –reset &> /dev/nullfi2. 打开“使用参数”开关,并按需输入用户名及密码。如下:3. 单击执行命令后,在执行结果步骤中查看信息,单击执行完成即可。1. 在“命令内容”中,输入以下命令:$UserName="Administrator"$NewPassword="新密码"([adsi]"WinNT://$ENV:COMPUTERNAME/$UserName").SetPassword("$NewPassword")2. 按需填入“新密码”后,单击执行命令,在执行结果步骤中查看信息,单击执行完成即可。
注意:说明:
注意:在控制台上直接单击重置密码可能会被第三方防病毒软件拦截,无论是在线重置还是离线重置。你只有通过上述执行命令的操作方式才能重置成功。