linuxroot远程登录
❶ linux下限制Root远程登陆
限制用户 root 远程登录,对保证计算机系统的安全,具有实际意义。本文向大家介绍一些方法,能达到限制 root 远程登录的目的。
方法一:在/etc/default/login 文件,增加一行设置命令。
CONSOLE = /dev/tty01
设置后立即生效,无需重新引导。以后,用户只能在控制台(/dev/tty01)root登录,从而达到限制root远程登录,不过,同时也限制了局域网用户root登录,给管理员的日常维护工作带来诸多不便。
方法二:1.为了达到限制root远程登录,首先要分清哪些用户是远程用户(即是否通过另一台 Windows 系统或 UNIX 系统进行 telnet 登录),哪些用户是局域网用户。通过以下shell程序能达到此目的。
TY=`tty | cut -b 9-12`
WH=`finger | cut -b 32-79 | grep "$TY " | cut -b 29-39`
KK=` tty | cut -b 6-9`
If [ "$KK" = "ttyp" ]
then
WH=$WH
else
WH="local"
fi
以上Shell命令程序中,WH为登录用户的主机IP地址,但如果在 /etc/hosts 文件中,定义了IP 地址和机器名之间的对应关系,则 WH 为用户登录的主机名。假设连接到局域网中的终端服务器的IP 地址为:
99.57.32.18, 那么应在 /etc/hosts 文件中加入一行:
99.57.32.18 terminal_server
所有通过99.57.32.18终端服务器登录到主机的终端中,WH 是同一个值,即为终端服务器名terminal_server。
2.在root的.profile文件中,根据 WH 值进行不同的处理,从而实现限制root远程登录。
Trap 1 2 3 9 15If [ "$WH" = "local" -o "$WH" = "terminal_server" ]then echo "Welcome......"else exitfi方法三:有时为了工作的方便,允许局域网中部分电脑root登录,例如,允许局域网中IP 地址为 99.57.32.58 的电脑root登录,要实现这一点,需要在前述方法中,作两点补充:
1.在 /etc/hosts 文件中,加入一行:99.57.32.58 xmh。
2.在上述 Shell 程序段中,将下述内容:
If [ "$WH" = "local" -o "$WH" = "terminal_server" ]
修改为:
If [ "$WH" = "local" -o "$WH" = "terminal_server" -o "$WH"= "xmh" ]
方法四:经过以上处理后,仍存在普通用户登录后用su命令变成 root 用户的可能,从而达到 root 远程登录的目的。为了防止用这种方法实现 root 远程登录,需要限制普通用户不能执行 su 命令:
1.将su命令属主改为 root;
2.将su命令的权限改为 700
❷ linux下开启SSH,并且允许root用户远程登录,允许无密码登录
参考:http://blog.csdn.net/jia0511/article/details/8237698
1. 允许root用户远程登录
修改ssh服务配置文件
sudovi/etc/ssh/sshd_config
调整PermitRootLogin参数值为yes,如下图:
2. 允许无密码登录
同上,修改ssh服务配置文件,两种情况:
1) 将PermitEmptyPasswords yes前面的#号去掉
2) 将PermitEmptyPasswords 参数值修改为yes,如下图:
无论哪种,最后PermitEmptyPasswords参数值为yes
以上两种配置,均需要重启ssh服务
service sshd restart # 或者/etc/initd.d/sshd restart
扩展:
为了安全起见,FreeBSD默认情况下是不允许root用户进行SSH远程登录的,需要进行以下操作才可以进行Root用户的ssh远程登录。
首先vi编辑/etc/inetd.conf,去掉ssh前的#注释,保存后:wq退出 (开启监听ssh服务)
编辑/etc/rc.conf, 最后加入:sshd_enable=”yes”即可
激活sshd服务:
#/etc/rc.d/sshd start
检查服务是否启动,在22端口应该有监听。
# check port number22
#netstat -an #或
#netstat -tnlp
最后,编辑ssh配置文件
#vi/etc/ssh/sshd_config
在/etc/ssh/sshd_config最后中加入
PermitRootLogin yes #允许root登录
PermitEmptyPasswords no #不允许空密码登录
PasswordAuthentication yes # 设置是否使用口令验证。
修改完配置文件后,重新启动sshd服务器(/etc/rc.d/sshd restart)即可。
补充:
1. 如果重启后还是不行, 请重新载入sshd_config 文件
/etc/rc.d/sshd reload
2. 如果出现using keyboard-interactive authentication
password:
请确认配置文件中,PasswordAuthentication参数值是否已经改成yes
另外如果客户端是putty, 那么请确认”尝试’智能键盘’认证(SSH-2)”的勾是否有去掉!!!!
3. 如果是使用root帐号登陆
请确认密码是否为空
空密码无法登陆
4. 请确认是否有安装SSH
确认sysinstall>>>configure>>>networking>>>sshd是否的勾是否有打上.
❸ 怎么设置root用户使用telnet远程登录linux
通过配置文件设置是否允许使用root帐户通过telnet远程登录
工具:telnet客户端:WINDOWS自带的或是使用如putty等其他工具派扰
方法:
1、现象:无法使用root用户通过telnet远程登录linux服务器,如图所示:
注意事项:为了安全,此功能慎用,获取root功能的方法有:
1、su root,切换到root用户,如果知道密码;
2、sudo 加命令,如 sudo vi /etc/securetty
3、sudo su root,暂时获得root权限
❹ 如何解决Linux下通过root无法远程登录
发现问题
通过xshell连接ubuntu,输入,连接名称,ip,端口,已经用户名密码,输入完成后点击连接,开始进行远程连接,发现一直提示连接不了;提示"ssh服务器拒绝了密码,请再试一次。"其实试了多少次都没用;
解决问题
1、确认ssh服务已安装,通过普通用户连接成功;
2、确认ssh配置是否对root进行特殊设置,修改/etc/ssh/sshd_config文件中
PermitRootLogin without-password将 without-password改为yes;
3、重启ssh服务/etc/init.d/ssh restart;
如何解决Linux下通过root无法远程登录
如何解决Linux下通过root无法远程登录
如何解决Linux下通过root无法远程登录
验证结果
再次使用ssh连接,这次没有任何提示,连接成功了;
如何解决Linux下通过root无法远程登录
END
注意事项
问题本身不难,重点是要细心。经常遇到问题会很影响效率,这里特意记录下来,希望帮助到别人;