本文实现手机在Virtual Box中搭建Tiny Core Linux SSH服务器,手机连接同一局域网后,ssh连接该服务器。后面还会继续研究怎样从别的网连接虚拟机里的服务器。
1. 首先注意的一点是,需要将Virtual Box的网络设置成Bridged Adapter模式。因为默认的NAT模式使虚拟机在网络中不可见;而Bridged Adapter模式使得虚拟机在网络中如同一个独立的主机存在,有独立的IP地址,从而其他的主机可以访问改虚拟机(即服务器)。
这一点网上有很多文章,这是我曾经转载过的一片以供参考:http://blog.csdn.net/boriscoding/article/details/8852125
2. Tiny Core Linux的设置
Download and Load OpenSSH.tcz后,可以在terminal中输入ssh命令看到有结果了,说明安装成功;但是重启系统以后再输入ssh发现找不到命令。这是因为Tiny Core为了保持其小巧并全部在内存中运行的特性,默认没有加载新安装的软件。
所以先要对TC进行一番设置:
(1)开机加载ssh
打开Apps ==> Apps ==> Maintenance ==> OnBoot Maintenance.
右边OnBoot items (Onboot.lst)表示开机默认加载的apps,左边一栏select是可以选择并加入开机启动的程序。
选择OpenSSH.tcz并加入右边。
(2)后面在/usr/local/etc/ssh中配置好ssh_config和sshd_config两个文档后,重启发现一场空!!白配置了!!!
打开ControlPanel ==> Maintenance ==> Backup/Restore
在选项卡included for backup(.filetool.lst)中,当前只有home和opt两个文件,意即在这两个direction下做的改变,开机都不会被重新覆盖。之前在/usr下配置的肯定就作废了啊!!所以选择file后,点击add,在对话框中选出我们之前配置的两个文件加入。再重启,这两个文件还在。
3. SSH设置
这部分网上就有大把的资料了,而且各种linux系统的SSH配置基本相同。
比如这些博文:
http://www.linuxidc.com/Linux/2013-07/88048.htm
(1)navigate到/usr/local/etc/ssh文件夹下,有两个example文件,里面的代码是全部注释掉的,我们可以根据需要解放一些条目,并加以修改。
(2)这里要切换的root:sudo su(tiny core 下不是sudo -i)
cp ssh_congfig_example ssh_config
cp sshd_congfig_example sshd_config
这里是作服务器,所以主要配置sshd_congfig这个文件
仅作测试,我先做了很简单的修改:
Port 22 //监听的端口为22
PermitEmptyPasswords yes //允许空密码用户登录
AllowUsers tc //只允许tc用户登录,与DenyUsers选项相反
(3)启动SSH:
sudo /usr/local/etc/init.d/openssh start(或者restart)
会生产key,还会看到randomart image等一些有趣的东西。
如果不放心ssh是否正常工作,可以这样检查
netstat -tlp
如果显示tcp6 0 0 [::]:ssh [::]:* LISTEN,则表示ssh已经在运行
(4)别忘了回到第2大点第(2)小点让这两个刚刚设置的文件启动被加载,不然又要重来一遍。!!!!!!!
4. 下面就是激动人心的测试阶段了!!
(1)android手机下一个ConnectBot,用于SSH连接的客户端
(2)虚拟机tc中ifconfig看一下eth0的inet addr是什么(即服务器地址),我这里是10.10.1.228
(3)在ConnectBot里面输入[email protected]连接
等待一会儿,出现一些安全提示信息,然后yes继续连接就行了