腾讯轻量云服务器:使用 SSH 密钥对的方式登录 Linux 实例(另一种方式是使用密码)

——SSH 密钥仅支持绑定“同地域”的轻量应用服务器 Linux 实例

——为提高轻量应用服务器实例的安全性,Linux 实例绑定密钥后,默认会禁止通过密码登录 root 用户。如您仍需保留密码登录方式,修改 SSH ,添加 PasswordAuthentication yes 项即可

]# vi /etc/ssh/sshd_config 
# Authentication:
PermitRootLogin yes
PubkeyAuthentication yes
AuthorizedKeysFile      .ssh/authorized_keys
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.


1、SSH 密钥对是通过加密算法生成的一对密钥,为远程登录实例提供一种更安全便捷的认证方式。腾讯云创建的 SSH 密钥对采用 RSA 2048位的加密方式,生成包括公有密钥(公钥:腾讯云仅存储公钥。对于 Linux 实例,公钥内容存储在 ~/.ssh/authorized_keys 文件中)和私有密钥(私钥:私钥仅一次下载机会,腾讯云不会保存您的私钥,如果私钥文件丢失,可以考虑重新创建密钥,并绑定至对应实例)

——在腾讯轻量云服务器上创建新密钥对(会自动下载私钥文件Tencent_baota.pem到本地),并绑定到实例(需重启):lhins-3fp50xxx(宝塔Linux面板-TDva:62.234.182.xxx)

私钥(OpenSSH格式的密钥):Tencent_baota.pem

2、在使用 PuTTY 进行 SSH 连接时,如果原本的 SSH 私钥不是 .ppk格式,需要通过 PuTTY Key Generator(PuTTY 密钥生成器)将其他格式的私钥转换为 .ppk格式。

  • 在PuTTY key generator上load "private key file"密钥Tencent_baota.pem,然后输入(Key Passphrase:用于加密和解密Tencent_baota.pem数据,以确保其的保密性和完整性)创建加密私钥的密码生成私钥:save private key(Key的类型默认是RSA)——这一步的作用就是将私钥Tencent_baota.pem加密生成/转换为一个带密码的私钥mizy_key.ppk!!!
  • putty、winscp等使用这个加密的私钥:mizy_key.ppk
  • 但是如下面第4项 Windows的SSH登录只能使用未加密的私钥:Tencent_baota.pem,还有宝塔BT-Panel登录http://62.234.182.xxx:8888/tencentcloud也是使用未加密的私钥。否则报错提示:
> ssh -i D:\mizy_key.ppk root@62.234.182.xxx
Load key "D:\\mizy_key.ppk": invalid format
  • 1.
  • 2.

mizy_key.ppk(PuTTY生成的私钥文件是 .ppk 格式,PuTTY/WinSCP只支持PuTTY格式即.ppk的私钥文件

  • mizy_key.ppk就是对Tencent_baota.pem进行了格式转换,并加了密码保护Key Passphrase(可选)。

3、putty、winscp等配置使用用于认证的私钥文件mizy_key.ppk登录,首次使用时需要输入加密私钥的密码。

4、如果本地电脑为 Windows 操作系统(如 Windows 10 或 Windows Server 2022),需先管理员打开命令提示符(CMD、PowerShell),再依次执行以下命令。

  • 使用的是已下载的与实例关联的私钥文件Tencent_baota.pem
需要管理员打开Windows PowerShell,否则Access is denied,Failed processing 1 files
> icacls  D:\Tencent_baota.pem  /grant ADMIN:F        使用 icacls(用于修改文件或文件夹的访问控制列表)来为指定的 Windows 系统用户账户授予对指定私钥文件的完全控制权限(F 表示完全控制)
> icacls  D:\Tencent_baota.pem  /inheritancelevel:r   设置文件 D:\Tencent_baota.pem 的继承权限级别为只读(r 表示只读)
否者报错:
    Permissions for 'D:\Tencent_baota.pem' are too open.
    It is required that your private key files are NOT accessible by others.
    This private key will be ignored.
    Load key "D:\Tencent_baota.pem": bad permissions
进行远程登录:ssh -i <已下载的与实例关联的私钥文件的路径> <username>@<IP address or domain name>
> ssh -i D:\Tencent_baota.pem root@62.234.182.xxx
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.

使用 SSH 密钥对的方式登录 Linux 实例_密钥对使用 SSH 密钥对的方式登录 Linux 实例_密钥对_02