Windows下做Linux开发,装虚拟机里,怎么可以不用SSH呢。有人说,“做Linux开发,还不直接装机器上跑起来了,还挂虚拟机,开SSH……闲的蛋疼了吧”,不管怎样,我接触Linux算是3年了,用了3年的Ubuntu了 吧,对Ubuntu算是了解,Ubuntu在Linux众多发行版里做的算是可圈可点的了,但是Linux在PC系统中的很多方面并不是非常到位,用户体 验也好,性能也罢。我也热爱Linux,不过不能否认它在这方面的一些略势,当然他强大的命令行、网络服务,以及那华丽的界面也是windows不可比拟 的。所以根据习惯也好,一般的交叉编译环境或是正常开发环境大多还是在windows+Vmware(或者VisualBox)下完成的,处于网上好多的 SSH服务安装的文章并不是很到位,并且大多都是一篇转了好多遍,我想还是有必要自己整理一下,方便自己将来再用到,顺便也可以帮到别人。

Ok,现在开始。。。。。

 (请看完全文后再进行操作,我是边写文章边配置的,中间出现了很多问题,看完的话可以让你少走几段弯路。。。)

Ubuntu的apt-get工具之强大无人能及啊,这里不开强大的网络,离开了网络,仿佛就变得鸡肋了。所以,打开终端命令行:

$ sudo apt-get install openssh-server

我勒个去,怎么回事?我的这命令怎么这样?估计你的也是吧,见下图

怎么回事? 你猜……我猜是apt-get 的源列表里边找不到我想要的openssh吧,是这样。Apt-get应用就是通过一个记录有所有可用软件包的配置文件在服务器上查找你想要的可用软件 包,然后下载并安装的。难怪,现在都11.04了吧,我的跑的是9.04的Ubuntu。谁的服务器还给你维护着两年前的源,就算有,经历了两年的沧海桑 田,对应的更新地址应该也变了。解救而上述问题的方法就是更新你的sources.list,位于/etc/apt/sources.list 。 自己上搜索引擎search一下如何更新源列表,其实也就是复制粘贴,新手别忘了sudo 。另外,随着版本更新,老版本的源列表在执行:

$ sudo apt-get update

时,会出现大量not   found 。证明该版本的源列表已经过期,尽量找新版本的。

jun更新成功后是:

然后重新执行上边命令试试:

$ sudo apt-get install openssh-server

会自动检索关联包,然后提示下载确认,输入:y  ,回车,等他自行下载安装。

不出意外的话,更新完后就已经安装好了,其实我的除了一些小意外。不过是在自动配置ssh_config的时候,理论上不影响服务的运行的。(因为这时我是在边安装边写文章,一切都是实时的,下一步能不能安装成功,谁知道呢?),哈哈,我们继续。看看我的报错界面:

咱们来启动服务试试:

$ sudo /etc/init.d/ssh start

或者 :$ sudo /etc/init.d/ssh resart

不想在这敷衍,我的启动不开了,咱重启一下虚拟机,再试。我猜测是刚才更新东西还有配置是内核还有什么锁没有释放,Linux内核管理还有更新时持有的锁还有更改时的什么东西,都会影响到一些服务的启动,总之试试再说。重启:

$ sudo halt now (关闭后开启,或者restart,我总感觉halt后启动会快一些)

$ sudo reboot (额,还是reboot更快)

果然,重启也启动不了。你是不是也遇到同样问题?或许你的已经跑开了,一边乐着去吧,我得把它整理完了。还是启动不了,怎么办?搜集了老久,网上说,把openssh client卸载掉重新安装(ps:Ubuntu默认是已经包含了client的,咱就试试百。)

$ sudo apt-get remove openssh-client

等待片刻,索性把刚才装的opensshserver 也卸了。一切从零开始。

$ sudo apt-get remove openssh-server

然后先安装client:

$ sudo apt-get install openssh-client

还是不行,无果,好人没做成,自己掉进去了。上次装,一下子就OK了……问题是最提升人的,我继续。

原因找到:应该是版本问题,用的是9.04的系统,10.04的更新列表。造成版本的兼容问题。在原来基础上,系统自己检测,经过upgrade manager自动更新了部分库以后,服务自己启动了。看看sshd的进程:

也有可能是更新系统包的时候自动按照原来文件的安装记录,系统自己安装了服务,鬼知道啊。

让我们登陆一下,试试。这里用的是SecureCRT在windows7下访问Ubuntu的,win7下没有超级终端。SecureCRT也非常好用,也可用作串口工具,看看运行效果:

可以相互ping通,服务也正常,但是依然无法连接,继续……我觉得再reboot一下。

额,又二了,什么也没改,在SecureCRT新建一个连接就OK了。看图:

OK,到这里了……谢谢阅读。欢迎转载。Jun奉上。

Ubuntu 下配置 SSH服务全过程及问题解决的更多相关文章

  1. Sco Openserver下 配置SSH服务(图解)

    Sco Openserver下 配置SSH服务 好久没玩儿Sco Unix系统了,春节过后为邮政系统的一个朋友调试系统( 装了个远程服务) ,这两天将安装过程回忆了一下,总结出来给大家分享. 本试验需 ...

  2. [转]Ubuntu下配置NFS服务

    [转]Ubuntu下配置NFS服务  http://blog.163.com/liu8821031%40126/blog/static/111782570200921021253516/ Table ...

  3. Ubuntu下开启ssh服务

    网上有很多介绍在Ubuntu下开启SSH服务的文章,但大多数介绍的方法测试后都不太理想,均不能实现远程登录到Ubuntu上,最后分析原因是都没有真正开启ssh-server服务.最终成功的方法如下: ...

  4. Ubuntu下配置tftp服务

    Ubuntu下配置tftp服务 1.安装TFTP软件 sudo apt-get install tftp-hpa tftpd-hpa tftp-hpa是客户端,tftpd-hpa是服务器端 2.建立t ...

  5. Ubuntu下配置NFS服务

    Table of Contents 1.下载相关软件 2.建立共享目录 3.修改该配置文件 4.重启服务 5.测试服务器 6.测试客户端 测试系统:Ubuntu8.04 1.下载相关软件 使用如下命令 ...

  6. Ubuntu下安装SSH服务

    判断是否安装ssh服务,可以通过如下命令进行: $ ssh localhost ssh: connect to host localhost port 22: Connection refused 如 ...

  7. 转:ubuntu下安装ssh服务

    本文内容来自 http://www.cnblogs.com/chen1987lei/archive/2010/12/02/1894768.html ========================= ...

  8. Ubuntu 下配置ftp服务端

    安装sudo apt-get install pure-ftpdsudo netstat –ano | grep “21”查看21端口是否已开启.完成安装后,就可以用Ubuntu系统的用户名和密码登陆 ...

  9. ubuntu下配置ProFtpd服务使用sqlite3作为后端用户认证

    个人机器需要开个文件共享,Linux机器懒得配置SMB,就直接安装了ProFtpd,以做FTP服务器 Ubuntu安装挺简单,可使用就不那么友好了,配合GAdmin-Proftpd,一样不好用. 首先 ...

随机推荐

  1. Java日期时间实用工具类

    Java日期时间实用工具类 1.Date (java.util.Date)    Date();        以当前时间构造一个Date对象    Date(long);        构造函数   ...

  2. FreeMarker + xml 导出word

    转载自:http://hongqiang.iteye.com/blog/1632998 首先介绍几种java导出word方案 1.Jacob是Java-COM Bridge的缩写,它在Java与微软的 ...

  3. Ubuntu12.04 GIT安装和使用

    一.安装GIT和配置GIT 1.安装GIT apt-get install git 2.配置GIT ##配置用户信息 git config --global user.name "John ...

  4. python学习笔记(一)之为什么学习python

    python的特点: 跨平台 实现同一个功能是Java代码的1/5 python应用范围: 操作系统 web 3D动画 企业应用 云计算 如何学习python? 学习语法 验证例子 学会总结 课外实践

  5. Vuejs - 工欲善其事必先利其器

    既然是实战,怎离不开项目开发的环境呢?先给大家推荐下我的个人开发环境: 硬件设备:Mac OSX编译器:Visual Studio Code命令行工具:iTerm2调试工具:Chrome Dev to ...

  6. HDU 2639 Bone Collector II (dp)

    题目链接 Problem Description The title of this problem is familiar,isn't it?yeah,if you had took part in ...

  7. Html5_sessionStrong和localStorage的灵活使用

    谈谈这两个属性sessionStrong和localStorage是Html5新增点属性,用来记录一些数据在浏览器. 两者的区别sessionStrong存储的数据是暂时的,浏览器关掉后,存储下来的数 ...

  8. js刷新页面方法 -- (转)

    1,reload 方法,该方法强迫浏览器刷新当前页面. 语法:location.reload([bForceGet])   参数: bForceGet, 可选参数, 默认为 false,从客户端缓存里 ...

  9. Spring注解@Resource和@Autowired区别对比、spring扫描的默认bean的Id、程序获取spring容器对象

    -------------------------注解扫面的bean的ID问题-------------------------- 0.前提需要明白注解扫描出来的bean的id默认是类名首字母小写,当 ...

  10. python模块中requests参数stream

    PS:这个参数真没用过 当下载大的文件的时候,建议使用strea模式. 默认情况下是false,他会立即开始下载文件并存放到内存当中,倘若文件过大就会导致内存不足的情况. 当把get函数的stream ...