su认证失败的解决方法
Ubuntu安装后,root用户默认是被锁定了的,不允许登录,也不允许“su”到 root。有人说这是个不好的实践,特别是对于服务器来说。我觉得对于桌面用户来说,这样安全性更高一些,是应该的;但对于服务器可以设置成“允许 su 到root,但不允许root用户直接登录”。而我为了开发时的方便,则在桌面和服务器上都采用这种方式。 


◆允许 su 到 root

非常简单,下面是设置的方法: 

me@tipfoo:~$ sudo passwd 

Password: <--- 输入安装时那个用户的密码 

Enter new UNIX password: <--- 新的Root用户密码 

Retype new UNIX password: <--- 重复新的Root用户密码 

passwd:已成功更新密码 

◆允许root登录

如果要 允许root登录(不推荐),则这样操作: 

me@tipfoo:~$ gksu /usr/sbin/gdmsetup 

(或 者使用桌面菜单:系统>系统管理>登录窗口) 

点“安全”选项页,选择“允许本地管理员登录”。 

注:这一步依赖上一 步 

◆不输入密码直接登录 

在论坛上也看见有人抱怨,家中的Ubuntu不能像Window$那样──不用输入密码就能 登录。其实同样能做到: 

就在上一步的“安全”选项页中,勾选: 

“启用自动登录”,“用户”选择(如:“me”); 

注 意:公共用的计算机千万不能这么设置! 

◆SSH登录远程服务器 

如果远程服务器只允许root用户SSH到服务器时, 在Ubuntu下,必须“su 到root”用户才能登录成功(具体是看服务器端的配置)。 

首先,复制密钥到“/root/.ssh /”目录, 

me@tipfoo:~$ su 

Password: 

root@tipfoo:/home/me# chmod 600 -R /root/.ssh/ 

root@tipfoo:/home/me# ssh -p 27482 11.22.33.44 

Enter passphrase for key '/root/.ssh/id_rsa': 

Last login: Thu Jun 21 14:29:00 2007 from 11.22.33.45