winscp通过ssh方式连接linux服报错NoSupported authentication methods available(server sent:publickey...)问题

文章讲述了在Linux系统中,由于app用户主目录缺少x权限导致的报错,详细解释了权限模式drwxr-xr-x的含义,并给出了通过`chmodu+xapp`命令为目录所有者添加可执行权限以及使用`ll`查看权限的解决方案。

1.报错如下

2.产生原因:app用户主目录未添加x权限


drw-r-x-r-x拆分成4段解读:d | rw- | r-x | r-x  -> 类型 | 拥有者权限 | 拥有组权限 | 其他用户权限

d :表示目录类型

rw-:目录属主拥有读写权限

r-x:目录属组拥有读/执行权限

r-x:其他用户拥有读/写权限

说明:权限分读(r),写(w),可执行(x)三种;权限必有三位组成,若无某种权限用-占位。

用户权限操作参考第10点:linux常用命令汇总(CentOs7.5)-优快云博客

3.解决办法

cd /home
chmod u+x app #给目录拥有者添加可执行该主目录权限
ll

### 解决方案 当出现 `No supported authentication methods available (server sent: publickey)` 错误时,通常是因为务器配置不允许密码认证,或者客户端没有正确提供公钥认证所需的信息。以下是可能的解决方案: #### 1. 修改SSH配置文件以启用密码认证 检查务器上的 `/etc/ssh/sshd_config` 文件,确保以下参数被正确设置[^4]: ```bash PasswordAuthentication yes PermitRootLogin yes ``` 保存文件后,重启SSH务以应用更改: ```bash sudo service sshd restart ``` #### 2. 配置公钥认证 如果希望使用公钥认证,需确保以下条件满足: - 客户端生成了SSH密钥对,并将公钥上传到务器的 `~/.ssh/authorized_keys` 文件中。 - 确保 `sshd_config` 文件中以下参数被正确设置[^1]: ```bash PubkeyAuthentication yes AuthorizedKeysFile .ssh/authorized_keys ``` - 检查权限设置是否正确: ```bash chmod 700 ~/.ssh chmod 600 ~/.ssh/authorized_keys ``` #### 3. 检查务器日志 查看务器的SSH日志文件(通常位于 `/var/log/auth.log`),寻找与认证失败相关的详细信息[^2]: ```bash sudo tail -f /var/log/auth.log ``` #### 4. 重置实例密码(适用于云务器) 对于某些云平台(如阿里云或AWS),如果实例初始化时未正确配置SSH密钥或密码,可以通过控制台重置实例密码[^5]。完成后,尝试重新连接。 #### 5. 使用PuTTY或其他工具时的注意事项 如果使用PuTTY、WinSCP或FileZilla等工具,请确保正确加载私钥文件(通常是 `.ppk` 格式)。如果没有私钥文件,可以尝试切换到密码登录模式[^3]。 --- ### 示例代码:生成SSH密钥对并上传公钥 在本地生成SSH密钥对: ```bash ssh-keygen -t rsa -b 4096 -C "your_email@example.com" ``` 将公钥复制到远程务器: ```bash ssh-copy-id user@remote_host ``` --- ### 注意事项 - 如果启用了密码认证,请确保账户密码强度足够高,以避免安全风险。 - 修改SSH配置后,建议测试新配置是否正常工作,再关闭旧的认证方式。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值