最近在看《Hacking:the art of exploit》,此书提供了一个系统光盘,可以从光盘直接进去,不用装系统,直接光盘启动来实验书上的例子。可是我把他装在虚拟机里面,那分辨率啊,真是不堪入目啊!!!

        于是想到直接用ssh来连接,到自己的主机系统上直接操作,不需要再面对那个看不清的系统的。可是那个系统是ubuntu的老版本了,源不支持了,只默认安装了ssh-client,没有装ssh-server啊,不能通过apt-get来直接安装了。

         没办法,只能用源代码来安装了。从官网下了09年那个时候的版本,5点几的版本。主要是这本书是那个时候出的了!那个系统是从光盘启动的又不能安装vmware tools,不能拖进文件去啊,不过他安装了ssh-client,用scp beyond@192.168.2.1:/home/beyond/openssh.tar.gz .。

         再用经典的命令安装:

$./configure
$make
$sudo make install

         在make install出现这样的问题:

 Privilege separation user sshd does not exist

         网上搜了下,解决方法如下:

add following line in /etc/passwd 

sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin 

        这个方法还真可以,再一次make install。至于为什么目前还没找到解释。后面明白再来解释吧!!!又因为是编译安装,没有服务sshd,搞的我找了大半天的service sshd start和/etc/init.d/sshd,后面才知道编译安装不会自动生成这个的。用命令sshd可以直接启动sshd服务,也就是ssh-server服务。

        直接sudo sshd ,又报错了:

sshd re-exec requires execution with an absolute path

        说是sshd命令要用全路径来执行,没办法,于是:

$whereis sshd
sshd: /usr/local/sbin/sshd
$sudo /usr/local/sbin/sshd

        这是为什么要用全路径来执行来,因为sbin属于root用户,你在目前的普通用户下是不能直接执行sbin下的命令的,要用全路径来执行。至此终于安装成功,并启动了ssh服务:

        

$ps -e | grep sshd
 7334 ?        00:00:00 ssh-agent
17606 ?        00:00:00 sshd
        还有一点啊,这个光盘的用户是reader,我也不知道他的原始密码是多少了,好像没有啊。不过连ssh时要密码啊!没办法直接用root用户来修改reader的密码了:

reader$sudo su root
root$passwd reader

       现在终于可以在主机上直接操作了,上图庆祝下了!!!!


Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐