一般都是amazon会遇到,目前ali的机器没遇到过

情况是新机器,然后ssh脚本创建目录和用户和拷贝秘钥等等,后面用该新用户的秘钥登录发现一直无法登录。

把sshd的log改为debug,查看日志得出最重要的报错如下:

Could not open authorized keys '/data/home/user00/.ssh/authorized_keys': Permission denied

随后检查了.ssh的权限700和600都正常,甚至用

/usr/sbin/sshd -d -p 39999

起了个临时的端口,用这个端口和秘钥能正常登录,但是就是22端口就没权限!

最后查了一些资料: 估计是安全上下文的问题导致没有权限

解决思路:

新建个authorized_keys2 文件,chmod 600,修改sshd_config的默认authorized_keys改为 authorized_keys2

临时启用非标准用户主目录位置的公钥SSL登录:

sudo chcon -t ssh_home_t /data/home/user00/.ssh/authorized_keys2 /data/home/user00/.ssh/

ls -ldZ /data/home/user00/.ssh/authorized_keys2 /data/home/user00/.ssh/

并且使SELinux设置永久运行(参考: https://linux.die.net/man/8/ssh_selinux)

sudo semanage fcontext -a -t ssh_home_t /data/home/user00/.ssh/authorized_keys2
sudo semanage fcontext -a -t ssh_home_t /data/home/user00/.ssh
sudo restorecon -R -v /data/home/user00/.ssh/

最后重启sshd,再次链接,成功!

PS:感觉不用创建authorized_keys2文件应该也可以

最新文章

  1. 说说Web.Config与App.Config
  2. jquery取消选择select下拉框
  3. yaf自动加载文件
  4. mysql5.7.11安装配置
  5. JSON解析和XML解析
  6. 零基础如何入门Python
  7. MVC 小常识
  8. iOS开发——动画OC篇&知识点总结
  9. 索引节点inode
  10. 用nodejs删除mongodb中ObjectId类型数据
  11. 不能设置sublime text 2 为默认编辑器
  12. Windows服务定时运行,判断当前时间是否在配置时间段内
  13. 开源sip server & sip client 和开发库 一览
  14. .Net C# ASP.Net和ADO.Net
  15. sqlplus
  16. digitalocean纽约机房最先开通IPv6
  17. 51nod 1510 最小化序列 | DP 贪心
  18. 查看4k对齐,激活.net framework 3.5
  19. Redis的删除机制、持久化 主从
  20. iowait

热门文章

  1. React综合使用联系
  2. 关于解决scapy.error.Scapy_Exception: tcpdump is not available. Cannot use filter !报错
  3. 有状态软件如何在 k8s 上快速扩容甚至自动扩容
  4. Kubernetes(k8s)存储管理之数据卷volumes(四):持久卷Persistent Volume
  5. 制作 Python Docker 镜像的最佳实践
  6. before-after-hook钩子函数
  7. cs231n__5.1/5.2 CNN
  8. JavaScript:七大基础数据类型:大整数bigint
  9. Hive详解(01) - 概念
  10. 数据库服务器CPU不能全部利用原因分析