非root用户密钥登录服务器

一、生成密钥对

  1. win用户快捷键 win+R 出现运行框,输入cmd,出现可执行窗口
    在这里插入图片描述
  2. 输入 ssh-keygen -t rsa,第一次创建一直回车就行,我这里由于已经存在所以提示是否覆盖。命令行中也显示了生成的密钥对存放路径,默认存放在 C:\Users\Administrator/.ssh/id_rsa
    在这里插入图片描述
  3. 打开密钥路径,会有两个文件,.pub结尾的为公钥,另一个为私钥。我们需要将公钥上传到云服务器
    在这里插入图片描述

二、配置服务端

  1. 用你想要免密登录的账号登录服务器,并创建.ssh文件夹,如果已经存在则忽略
# 1.登录账户
ssh root@xxx.xxx.xxx.xxx		#root用户
ssh user_test@xxx.xxx.xxx.xxx	#普通用户

# 2.创建.ssh文件夹
mkdir .ssh

在这里插入图片描述
切记第④步检查当前用户是否有权限读写.ssh

  1. 上传公钥
scp C:\Users\Administrator\.ssh\id_rsa.pub keenan_test@xxx.xxx.xxx.xxx:/home/keenan_test/.ssh/authorized_keys

在这里插入图片描述
3. 修改权限

chmod 700 /home/keenan_test/.ssh
chmod 600 /home/keenan_test/.ssh/authorized_keys

三、测试

我这里使用的xshell工具,选择对应私钥,登录成功!!!

ssh keenan_test@xxx.xxx.xxx.xxx

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
当Windows连接Linux服务器时,如果root用户遇到"access denied"(拒绝访问)的问题,有几种可能的原因和解决方法。 首先,服务器可能没有正确配置root用户的权限。在Linux服务器上,root是最高权限用户其他用户的访问权限需要通过修改用户组和用户权限文件来设定。管理员可以检查服务器root用户的权限设置,确保其具有访问所需目录和文件的权限。 其次,可能是由于SELinux(安全增强型 Linux)或防火墙设置引起的。SELinux是一种访问控制机制,可以限制root用户的访问权限。管理员可以通过修改SELinux策略或临时禁用SELinux来解决此问题。另外,防火墙可能会阻止Windows客户端与Linux服务器之间的连接。管理员可以查看服务器上的防火墙设置,并相应地更改配置,以允许Windows客户端连接。 此外,可能是由于身份验证问题导致的拒绝访问。管理员可以检查Linux服务器上的用户凭证和密码,确保root用户的凭证正确。如果凭证被更改或失效,可以重新设置root用户的密码来解决此问题。 最后,Windows客户端可能没有正确的登录凭据。在尝试连接Linux服务器时,确保输入的用户名和密码正确,并选择正确的身份验证机制(如SSH密钥用户名/密码等)。 总之,当Windows连接Linux服务器时,如果root用户遇到"access denied"问题,需要管理员检查和调整服务器上的root用户权限、SELinux和防火墙设置,并确保Windows客户端的正确登录凭据和身份验证方式。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值