Ubuntu 下配置 SSH服务全过程及问题解决
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服务全过程及问题解决的更多相关文章
- Sco Openserver下 配置SSH服务(图解)
Sco Openserver下 配置SSH服务 好久没玩儿Sco Unix系统了,春节过后为邮政系统的一个朋友调试系统( 装了个远程服务) ,这两天将安装过程回忆了一下,总结出来给大家分享. 本试验需 ...
- [转]Ubuntu下配置NFS服务
[转]Ubuntu下配置NFS服务 http://blog.163.com/liu8821031%40126/blog/static/111782570200921021253516/ Table ...
- Ubuntu下开启ssh服务
网上有很多介绍在Ubuntu下开启SSH服务的文章,但大多数介绍的方法测试后都不太理想,均不能实现远程登录到Ubuntu上,最后分析原因是都没有真正开启ssh-server服务.最终成功的方法如下: ...
- Ubuntu下配置tftp服务
Ubuntu下配置tftp服务 1.安装TFTP软件 sudo apt-get install tftp-hpa tftpd-hpa tftp-hpa是客户端,tftpd-hpa是服务器端 2.建立t ...
- Ubuntu下配置NFS服务
Table of Contents 1.下载相关软件 2.建立共享目录 3.修改该配置文件 4.重启服务 5.测试服务器 6.测试客户端 测试系统:Ubuntu8.04 1.下载相关软件 使用如下命令 ...
- Ubuntu下安装SSH服务
判断是否安装ssh服务,可以通过如下命令进行: $ ssh localhost ssh: connect to host localhost port 22: Connection refused 如 ...
- 转:ubuntu下安装ssh服务
本文内容来自 http://www.cnblogs.com/chen1987lei/archive/2010/12/02/1894768.html ========================= ...
- Ubuntu 下配置ftp服务端
安装sudo apt-get install pure-ftpdsudo netstat –ano | grep “21”查看21端口是否已开启.完成安装后,就可以用Ubuntu系统的用户名和密码登陆 ...
- ubuntu下配置ProFtpd服务使用sqlite3作为后端用户认证
个人机器需要开个文件共享,Linux机器懒得配置SMB,就直接安装了ProFtpd,以做FTP服务器 Ubuntu安装挺简单,可使用就不那么友好了,配合GAdmin-Proftpd,一样不好用. 首先 ...
随机推荐
- JQuery学习三(隐式迭代和节点遍历)
在JQuery中根据id获取控件,如果输入id错误是不报错的. 必要时可以通过写判断语句进行判断是否id写错 <!DOCTYPE html> <html xmlns="ht ...
- How to configue session timeout in Hive
This article explains how to configure the following settings in Hive:hive.server2.session.check.int ...
- jquery动画切换引擎插件 Velocity.js 学习02
案例实践: 第一页会以动画形式进入页面: 点击进入按钮时,第一页以动画消失,第二页以动画形式进入,同时四张图片也定义从小到大的动画形式: 第二页关闭按钮点击时,先是四张图片以缩小动画消失,然后第二页以 ...
- PAT (Advanced level) 1003. Emergency (25) Dijkstra
As an emergency rescue team leader of a city, you are given a special map of your country. The map s ...
- JS练习题(左侧菜单下拉+好友选中)
题一.左侧菜单下拉 做题思路:先做菜单和子菜单,把子菜单默认隐藏.再用JS调样式. <style type="text/css"> *{ margin:0px auto ...
- 21、python操作redis的模块?
什么是redis? redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合).zset(s ...
- bzoj 1261 区间DP
首先我们知道ans=Σ(h[i]*f[i])=Σ(h[i]*d[i])/s=Σ(k(r[i]+1)+c)*d[i]/s=Σ(k*r[i]+(k+c))*d[i]/s 我们可以发现,除了k*r[i]之外 ...
- 如何使用webpack打包你的项目
webpack是前端开发中比较常用的打包工具之一,另外还有gulp,grunt.之前没有涉及过打包这块,这里介绍一下使用webpack打包的流程. Grunt和Gulp的工作方式是:在一个配置文件中, ...
- eCharts_基于eCharts开发的一个多图表页面
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- HTML -- get与post提交方式的区别 -- (转)
在写代码过程中,get与post是两种不同的提交方式.下面,列举出两种方式的不同. 方法/步骤 get是从服务器上获取数据,post是向服务器传送数据. get是把参数数据队列加到提交表单的A ...