阿里云轻量从密码修改为密钥登录并禁用密码登录的方法

1.系统正常运行后

2.首次绑定密钥

   进入左侧的运维管理-远程连接-密钥管理

 下载后是一个pem文件,如果用putty软件登录服务器,用下面的方式转换为ppk的文件,并登录

  1. 转换私钥文件格式。
    如果您的Linux服务器绑定的是阿里云自动生成的.pem格式的密钥文件,在使用PuTTY工具远程连接前,需要先将.pem格式的密钥文件转化为.ppk格式的密钥文件。具体操作如下:
    1. 在Windows环境中,下载PuTTYgen工具。
      下载连接:PuTTYgen
    2. 打开PuTTYgen工具。在Actions区域,单击Load。
      puttygen
    3. 在Load private key:对话框的底部,选择All Files(*.*)查看所有格式的文件。
      All Files
    4. 在PuTTYgen Notice对话框,找到并选择保存在本地的.pem格式的私钥文件,然后单击确定。
    5. 在Parameters区域,单击RSA。
    6. 在Actions区域,单击Save private key,然后单击是(Y)。
      您需要为待保存的.ppk格式的私钥文件设置文件名和存放路径。
  2. 在Windows环境中,下载并安装PuTTY工具。
    下载地址请参见PuTTY: a free SSH and Telnet client
  3. 启动PuTTY工具。
  4. 配置远程连接Linux服务器的信息。
    具体配置说明如下所示:
    • Host Name(or IP address):轻量应用服务器的公网IP。例如:121.40.XX.XX
    • Port:22。
    • Connection type:SSH。
    • 可选:Saved Sessions:输入一个便于识别的名称,然后单击Save即可保存会话,下次登录时无需输入公网IP等信息。
    putty configuration
  5. 在左侧导航栏,选择Connection > SSH > Auth。
  6. 在Authentication parameters区域,单击Browse...。
  7. 选择已保存在本地的.ppk格式的密钥文件,单击打开。
    prvatekey
  8. 单击Open。
    首次连接时会出现PuTTY Security Alert警告,表示PuTTY无法确认远程服务器的真实性,只能提供服务器的公钥指纹。选择是,表示您信任该服务器,PuTTY会将公钥指纹加入到本地设备的注册表中。
    说明 如果后续登录时再次弹出PuTTY Security Alert警告,表示实例可能遭受了中间人攻击。更多警告相关信息,请参见PuTTY官网文档
    PuTTY无法确认远程服务器(实例)的真实性
  9. 在命令行中输入Linux服务器的系统用户root,然后按Enter键。  

             成功登录后,如下图所示。

           login

以上方法来源于阿里官方文档:  https://help.aliyun.com/document_detail/59083.html?spm=5176.10173289.help.dexternal.4ccb2e77liM7QI

3.系统重置后密钥是不会自动删除的,需要更次绑定密钥才能连接服务器

如果更换系统或者重置系统后(虽然密钥存在,但系统不会自动绑定SSH公钥),需要手动绑定该密钥,只需要重新导入与或者新生成密钥文件,绑定后即可用密钥登录

 注:导入密钥时注意空格,不要多输入,否则就失联了

 提示导入成功后下一步操作

注:重置系统时会在安全组中默认放开SSH的22端口,任何人可访问,为了安全起见,建议将SSH端口修改为非22端口,方法下文

4.关闭密码登录

点客户端中的远程连接

提升到root权限

sudo -i

编辑SSH文件

 vi /etc/ssh/sshd_config

 修改参数 (绑定密钥后重启服务器也会自动修改成禁用密码登录)

找到   PasswordAuthentication yes   修改为no       注:阿里轻量在最后一行

 重启SSH服务

service sshd restart

修改默认的SSH端口    编辑方法(按i进入编辑模式,退出时先按esc 再按 :wq  保存完成 )

 vi /etc/ssh/sshd_config

 去掉#  修改为自定义的端口

 保存后重启服务器

 

如果有防火墙开启可按以下命令添加后再重启服务器
ubuntu
检查防火墙是否开启
sudo ufw status
inactive状态是防火墙关闭状态 active是开启状态
如果是开启状态,添加允许的端口到防火墙中
sudo ufw allow 48556/tcp

centos
查看防火墙否运行:
firewall-cmd --state
ruuning是开启状态
添加端口 到防火墙例外
firewall-cmd --permanent --zone=public --add-port=48556/tcp

 

posted @ 2022-04-17 11:08  gxgly  阅读(1462)  评论(0编辑  收藏  举报