給家裏閒置的筆記本裝了個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-private
Make ~/Private writable again
chmod 700 ~/Private
Remove ~/Private, ~/.Private, ~/.ecryptfs (Note: THIS IS VERY PERMANENT AND WILL DELETE ALL YOUR FILES, NOT JUST THE ENCRYPTED COPIES!)
rm -rf ~/Private ~/.Private ~/.ecryptfs
Uninstall the utilities
sudo apt-get remove ecryptfs-utils libecryptfs0
原文轉自瘋子的自留地,https://pjf.name/post-482.html?utm_source=tuicool&utm_medium=referral ,同時非常感謝作者文章給我的幫助。
同時附上兩篇Ubuntu的兩個幫助文檔:
http://wiki.ubuntu.org.cn/Ecryptfs
https://help.ubuntu.com/community/SSH/OpenSSH/Keys