如何在FreeBSD服务器/ Jail上启用SSHD

时间:2020-01-09 14:17:06  来源:igfitidea点击:

在安装了FreeBSD Jail并设置了IP地址。
无法直接进入FreeBSD Jail。
如何在FreeBSD服务器上启用OpenSSH SSHD?

FreeBSD入狱不过是操作系统级的虚拟化。
它允许开发人员和系统管理员将FreeBSD系统划分为独立的小型系统。
例如,我们可以为Web服务器设置一个 Jail,为电子邮件服务器设置另一个 Jail。
本快速教程介绍了如何在FreeBSD上启用SSHD服务器。

步骤1登录FreeBSD服务器以在FreeBSD上启用SSHD

使用ssh命令或直接使用控制台登录。
例如,我正在使用ssh登录到我的FreeBSD主机:

$ ssh [email protected]

运行jls命令列出您的 Jail并记下JID( JailID):

$ jls
JID  IP Address      Hostname                      Path
     1                  rsnapshot                     /theitroad/jails/rsnapshot/root

步骤2在 Jail内执行命令以获取shell程序访问权限

现在,我们登录到主机并获取了JID。
现在是时候通过其JID在 Jail中获得一个root shell了。
换句话说,按以下方式使用jexec命令:

$ sudo jexec JID sh
$ sudo jexec JID tcsh
$ su 
# jexec 1 tcsh

接下来将了解如何在FreeBSD Jail上启用SSHD。

步骤3在FreeBSD Jail或服务器上启用SSHD

在/etc/rc.conf中将sshd_enable设置为YES,以在FreeBSD box/jail上启用SSHD,然后使用service命令启动它:

# echo 'sshd_enable="YES"' >> /etc/rc.conf

关于sysrc命令的注意事项

是否启用sshd?
找出:

# sysrc sshd_enable

如果未在系统上启用,请启用它:

# sysrc sshd_enable=YES

有关更多信息,请参见sysrc命令手册页。

步骤4在FreeBSD服务器上启动SSHD

运行服务命令,如下所示:

# service sshd start

验证一下:

# service sshd status

我们还可以使用netstat命令或sockstat命令来验证ssh是否正在运行并且TCP端口22已打开:

# netstat -nat | grep LISTEN
# sockstat -4 -l

有关更多信息,请参见FreeBSD列表/使用sockstat命令显示打开的端口。
您现在可以使用ssh登录:

$ ssh user-name@jail-ip-address-here
$ ssh [email protected]

步骤5在FreeBSD上控制OpenSSH守护程序

语法为:

# service sshd start # <-- start the service 
# service sshd stop # <-- stop the service 
# service sshd restart # <-- restart the service 
# service sshd status # <-- Get the status of service 
# service -e # <-- Show services that are enabled on FreeBSD box/jail

步骤6添加新的FreeBSD用户并设置sudo访问

默认情况下,不允许root用户使用ssh登录。
从安全的角度来看,这也是一种好习惯。
因此,我们必须在FreeBSD上添加一个新用户。
让我们以交互方式添加新用户:

# adduser

经验丰富的sysadmin的另一个选项是pw命令:

# pw user add -n Hyman -c '' -d /home/Hyman -G wheel -m -s /bin/tcsh
# passwd Hyman

确保使用pkg命令安装了sudo:

# pkg install sudo

然后

# visudo

查找并取消注释以下行,以允许wheel的成员执行任何命令:

%wheel ALL=(ALL) ALL

保存并关闭vim中的文件。

测试一下

再次使用ssh命令登录FreeBSD Jail:

$ ssh [email protected]

获得root shell:

$ sudo -i