ubuntu编译安装openssh

来源:互联网 发布:移动测速软件 编辑:程序博客网 时间:2024/05/16 09:03

    自己弄一台老机器ubuntu10.10,想远程连接上。可是老机器的源坏了。虽然能连上网,却无法apt-get。无奈只能下载个安装包。

    首先上官网:

     http://www.openssh.com/
    选择一个版本下载,解压。先看INSTALL文件。得知OpenSSH需要依赖Openssl和zlib.此两个包,这里并不做讨论。安装过程请Google。

    假设我们依赖都已经安装完毕。

   编译安装过程相当简单。在OpenSSH目录下,执行“三步走”战略:

$sudo ./configure$sudo make#sudo make install
最后一步。可能会出现一个错误:

Privilege separation user sshd does not exist

就是提示用户sshd(OpenSSH内置的用户)的权限问题。大概的原因,就是在/etc/passwd中没有找到sshd用户的权限。

小case,vi修改/etc/passwd,在最后追加如下:

sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
注意第五项,“SSH”之前有个空格。

wq保存退出。再次make install。成功。


需要注意的是,"三步走"中的第三部,是默认安装。默认的命令是安装在/usr/local/bin这个目录,配置文件在/usr/local/etc,而我们最需要的sshd服务程序,安装在the server in /usr/local/sbin目录下。如果要指定它们的安装路径,可以参考安装包根目录下INSTALL这个文件。


    接下来,启动服务:

$sudo /usr/local/sbin/sshd
如无提示信息,则表示成功。检测服务是否运行:

$ps -e | grep sshd


有时候,我们在启动服务的时候可能会收到如下错误信息:

Could not load host key: /usr/.../etc/ssh_host_rsa_keyCould not load host key: /usr/.../etc/ssh_host_dsa_key
(PS:以上“...”表路径,具体可能因机器而不同。)

此时可能有两个问题导致:

    第一,权限问题。即在启动sshd服务的时候,忘记加sudo。
    第二,由于某种原因,这两个文件不存在。那么此时就需要生成它们了。命令为:

    $sudo ssh-keygen -t dsa -f /usr/.../etc/ssh_host_rsa_key        //将...替换成你的路径。如果出现冒号提示,一路直接回车。    $sudo ssh-keygen -t rsa -f /usr/.../etc/ssh_host_dsa_key        //同上,直接回车。
   这两条命令就是生成key文件。
   然后再次启动。问题应该就得到解决了。


最后使用putty连接这台老机器,应该就能成功了。

结尾再来一个建议:如果你当初默认安装了。后来又想将sshd更改到/etc/init.d/下,那么简单,ln -s建立一个符号链接就行了。

0 0
原创粉丝点击