Ubuntu Server用户必须本地登录后才能远程ssh登陆

摘要

笔记本装了个Ubuntu Server扔在家里跑点小任务,设置了证书的ssh登陆,无意中重启的时候发现必须要先 […]

笔记本装了个Ubuntu Server扔在家里跑点小任务,设置了证书的ssh登陆,无意中重启的时候发现必须要先将本地的用户登陆后才能ssh远程登陆该用户,否则一直提醒publickey无效。以为是sshd服务没启动,排查后发现开机已经启动了sshd服务。查看/var/log/auth.log发现是登陆被down掉。设置tty自动登陆该用户也无解,必须先登陆该用户才行。WTF!!!!

几经周转,设置/usr/sbin/sshd -d再debug模式下跟踪发现/home/xxx/.ssh/authorized_key文件不存在。怪了,明明有的啊,难道是权限不正确?目录.ssh是700没错,authorized_key是600也没错啊.无意想起来装系统时询问我是否加密home的时候选择了加密,是不是加密的原因?选择root用户登陆后发现xxx用户没登陆的时候home目录内容全部为空,怪不得,原来如此,只有我登陆了后才能访问.ssh目录。原因找到后就好办了,果断卸载加密服务。

以下是ubuntu的帮助中心找到的方法:

To remove this setup:

Ensure that you have moved all relevant data out of your ~/Private directory

Unmount your encrypted private directory

ecryptfs-umount-privateMake ~/Private writable again

chmod 700 ~/PrivateRemove ~/Private, ~/.Private, ~/.ecryptfs (Note: THIS IS VERY PERMANENT AND WILL DELETE ALL YOUR FILES, NOT JUST THE ENCRYPTED COPIES!)

rm -rf ~/Private ~/.Private ~/.ecryptfsUninstall the utilities

sudo apt-get remove ecryptfs-utils libecryptfs0

更多Ubuntu相关信息见Ubuntu 专题页面 http://www.searu.org/topicnews.aspx?tid=2

avatar

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: