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-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


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章