腾讯云服务器密钥登录

本文介绍了如何在腾讯云Ubuntu服务器上创建root用户,修改SSH配置以允许root用户登录,生成并设置SSH密钥对,以及如何将服务器配置为仅接受密钥认证的登录方式,增强了服务器的安全性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.切换root用户

(1)由于腾讯云服务器登录默认是ubuntu用户,所以使用sudo passwd root 创建root用户和密码

注意:su和sudo的区别:

su的密码是root的密码,而sudo的密码是用户的密码;
su直接将身份变成root用户。

(2)sudo vi /etc/ssh/sshd_config 修改ssh配置

	找到			#PermitRootLogin prohibit-password
 	修改为		PermitRootLogin yes
 	*重装系统选择密钥登录的还需要修改为		PasswordAuthentication yes
 保存退出

(3)重启ssh服务:
sudo service ssh restart
(4)可以重新连接改为root用户登录

2.创建一个密钥对

cd /root/.ssh
ssh-keygen -t rsa -b 4096
一路回车即可,保存文件地址(~/.ssh)和密码(无)都默认即可
在这里插入图片描述

3.将密钥对中的公钥放进服务器的authorized_keys文件中

  • 使用ssh-copy-id命令来自动添加
    ssh-copy-id -i /root/.ssh/id_rsa.pub root@服务器IP地址
  • 查看authorized_keys中是否已有公钥
    cat authorized_keys

4.将私钥下载到本地

5.使用密钥登录服务器

6.设置服务器只允许密钥登录

(1)打开ssh配置
sudo vi /etc/ssh/sshd_config 
(2)修改为
PasswordAuthentication no
PubkeyAuthentication yes
AuthorizedKeysFile      .ssh/authorized_keys .ssh/authorized_keys2

ChallengeResponseAuthentication no
RSAAuthentication yes
(3)重启sshd服务
sudo systemctl restart sshd
### 腾讯云服务器地址配置与API 腾讯云提供了详细的文档来指导用户如何配置服务器地址以及使用其API。以下是相关内容: #### 配置腾讯云服务器地址 在腾讯云控制台中,“域名”子页面允许用户管理已有的域名并将其解析到指定的云服务器上[^3]。具体操作流程如下: 1. 登录腾讯云账户后进入控制台。 2. 找到“域名”选项下的子页面,点击需要绑定的域名。 3. 将该域名指向所需的云服务器IP地址。 此过程可能需要一定时间生效,在设置完成后可以通过`http://<your-domain>/`访问所部署的应用程序。 #### 使用腾讯云API获取服务器信息 为了更灵活地管理和查询资源状态,可以利用腾讯云提供的开放接口(API)[^4]。开发者需先申请密钥(secret id 和 secret key),之后调用相应方法如DescribeInstances() 来检索实例详情列表。下面展示了一个简单的Python脚本例子用于列举当前区域内的所有CVM实例及其公网 IP 地址: ```python from tencentcloud.common import credential from tencentcloud.common.profile.client_profile import ClientProfile, HttpProfile from tencentcloud.cvm.v20170312 import cvm_client, models def get_server_ips(): cred = credential.Credential("SECRET_ID", "SECRET_KEY") http_profile = HttpProfile() http_profile.endpoint = 'cvm.tencentcloudapi.com' client_profile = ClientProfile() client_profile.httpProfile = http_profile client = cvm_client.CvmClient(cred, "ap-guangzhou", client_profile) req = models.DescribeInstancesRequest() params = {} resp = client.DescribeInstances(models.DescribeInstancesRequest(params)) instances = [] for instance in resp.InstanceSet: public_ip = instance.PublicIpAddresses[0] if hasattr(instance,'PublicIpAddresses') and len(instance.PublicIpAddresses)>0 else None private_ip = instance.PrivateIpAddresses[0] instances.append({ 'InstanceId':instance.InstanceId, 'PublicIpAddress':public_ip , 'PrivateIpAddress' :private_ip}) return instances print(get_server_ips()) ``` 上述代码片段展示了如何通过腾讯云SDK请求描述特定区域内运行中的虚拟机实例,并提取它们各自的公有和私有网络IP地址[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值