编译安装openssh
最近在看《Hacking:the art of exploit》,此书提供了一个系统光盘,可以从光盘直接进去,不用装系统,直接光盘启动来实验书上的例子。可是我把他装在虚拟机里面,那分辨率啊,真是不堪入目啊!!! 于是想到直接用ssh来连接,到自己的主机系统上直接操作,不需要再面对那个看不清的系统的。可是那个系统是ubuntu的老版本了,源不支持了,只默认安装了ssh-client
·
最近在看《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
现在终于可以在主机上直接操作了,上图庆祝下了!!!!
更多推荐
所有评论(0)