Ubuntu 系统SSH服务安装简介:
最近开始做Android的开发,由于公司的缘故,工作都只能在单位做,很多时候回家还想再学习下代码方面的东西,苦于网上介绍的Android源码开发都是在Ubuntu系统上开发,出于无奈,只好摒弃了之前一直在用的CentOS等一些服务器,自己重新装了个Ubuntu系统。
安装系统倒是挺快的,没半小时就装完了。进入系统一看,突然发现装好的ubuntu系统居然不支持ssh服务,也没多想,那就装吧。
乖乖,不装不知道,一装才发现Ubuntu安装服务用的都是apt-get工具的在线安装(至少网上介绍的都是这种方式)。搜了下,帖子上介绍的基本上都是如下这个命令:
sudo apt-get install openssh-server
往刚装好的ubuntu上一敲,出现如下错误:
www.linuxidc.com @linuxidc:~$ sudo apt-get install openssh-server
Reading package lists… Done
Building dependency tree
Reading state information… Done
Package openssh-server is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
E: Package openssh-server has no installation candidate
再搜,能搜到的帖子基本都说先使用一下俩命令:
sudo apt-get update
sudo apt-get upgrade
然而事实上即使我使用了以上两个命令,sudo apt-get install openssh-server时出现的还是上面红色部分错误。正当即将崩溃时,突然看到了这么篇帖子,讲的大致意思就是在使用sudo apt-get install openssh-server命令在线安装服务时,这个命令使用的其实是/etc/apt/source.list文件中指定的源的资源进行安装。在默认安装好的ubuntu系统中,这个文件中的源信息由于时间等原因有可能都已经过时了,需要自己找一些可以使用的源。于是马上谷歌了下/etc/apt/source.list这个文件,找到一些源信息。源挺多,就是有些源也已近过时,无奈只能一个一个试过来,最终终于找到一些可以使用的源,以下是本人使用的源,在撰写此文是还是有效的:
deb http://mirrors.163.com/ubuntu/ hardy main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ hardy main restricted universe multiverse
关于更多Ubuntu更新源的相关阅读见:
Ubuntu 10.10更新源 http://www.linuxidc.com/Linux/2010-12/30938.htm
Ubuntu 10.10 更新为国内网易163源 http://www.linuxidc.com/Linux/2011-03/32974.htm
Ubuntu 11.04更新源列表及正式版下载 http://www.linuxidc.com/Linux/2011-04/35234.htm
Ubuntu 11.10 Oneiric Ocelot 更新源 http://www.linuxidc.com/Linux/2011-10/44243.htm
去掉/etc/apt/source.list文件中原先存在的源,加入以上源地址,然后使用
sudo apt-get update
sudo apt-get upgrade
命令能找到资源并更新成功。然后再次使用
sudo apt-get install openssh-server
命令安装,但是还是安装失败。
看错误信息,说是跟先前的openssh-client版本不匹配。用sudo apt-get remove openssh-client
命令卸载原先的openssh-client,卸载时,又出现新情况,说是无法卸载。再搜,找到解决办法。原来当用
sudo apt-get remove openssh-client
命令卸载,它会用/etc/apt/source.list文件中指定的源去卸载当前已安装的openssh-client,由于版本间差异,导致卸载失败了。解决的办法是先注掉/etc/apt/source.list中刚写入的源信息(其实可以注视掉所有源信息),然后再
sudo apt-get update
sudo apt-get upgrade
最后再用
sudo apt-get remove openssh-client
命令进行卸载,中间会提示使用autoremove进行卸载,用
sudo apt-get autoremove openssh-client
进行卸载即可。然后再打开源信息,再次
sudo apt-get update
sudo apt-get upgrade
最后
sudo apt-get install openssh-server
即可安装成功。
综合以上分析,我们安以下步骤安装即可:
1. 注视掉/etc/apt/source.list中的所有源,然后sudo apt-get update,sudo apt-get upgrade
2. 用sudo apt-get autoremove openssh-client卸载原来的openssh-client
3. 在/etc/apt/source.list中加入可用源,然后sudo apt-get update,sudo apt-get upgrade
4. 用sudo apt-get install openssh-server安装ssh服务端
设置自启动:
vi /etc/rc.local 加入:service sshd start 或 /etc/init.d/sshd start