使用ssh,首先得了解ssh结构:SSH是由客户端和服务端的软件组成的,有两个不兼容的版本分别是:1.x和2.x。 用SSH 2.x的客户程序是不能连接到SSH 1.x的服务程序上去的。OpenSSH 2.x同时支持SSH 1.x和2.x。
(1)服务端是一个守护进程(daemon),他在后台运行并响应来自客户端的连接请求。服务端一般是sshd进程,提供了对远程连接的处理,一般包括公共密钥认证、密钥交换、对称密匙加密和非安全连接。
(2)客户端包含ssh程序以及像scp(远程拷贝)、slogin(远程登陆)、sftp(安全文件传输)等其他的应用程序。
(3)启动ssh服务后,sshd运行起来并在默认的22端口进行监听(你可以用 # ps -waux | grep sshd 来查看sshd是否已经被正确的运行了)。
更多信息请参见百度百科:http://baike.baidu.com/view/16184.htm
对于Ubuntu来说,openssh-client是缺省安装的,如果是服务器版(即 ubuntu server版)openssh-server也是缺省安装的;普通版则需用户自己安装openssh-server,具体步骤如下:
1.更新源
命令(1):sudo gedit /etc/apt/sources.lst 打开存放“源”的文件,从网上找到更新源替换原有的源(也可以先对已有的源做备份);
命令(2):sudo apt-get update 更新源
命令(3):sudo apt-get upgrade (升级)
2.配置安装ssh服务器(若未安装ssh-client ,则安装方法类似)
命令:sudo apt-get install openssh-server
3.启动ssh-server(重启ssh服务)
命令:sudo /etc/init.d/ssh restart
4.确认ssh-server已经正常工作
命令:netstat -tlp
5.另外一种方法确认正常使用
命令:ps -e|grep ssh
如果可以查到sshd的进程信息,表示ssh-server正常工作
6.配置ssh
命令:ssh-keygen -t rsa -P ""
常见错误:
1.ssh: connect to host localhost port 22: Connection refused
可能原因:(1)未安装sshd(ssh-server),解决:按上述方法安装即可;
(2)端口22 被占用,解决将sshd_config中的port改为其它。
2.在启动ssh-server时,报错如下:
/etc/ssh/sshd_config: line 19: Bad configuration option: Host
.............
解决:将sshd_config中的报错的几项注释掉
Could not load host key: /etc/ssh/ssh_host_rsa_key
Could not load host key: /etc/ssh/ssh_host_dsa_key
解决:访问这些文件需要root权限,在启动命令中加上sudo
【说明】该文是本人在配置ssh过程中的一些经验总结,其中参照了http://winsefirst.blog.sohu.com/144885109.html和http://winsefirst.blog.sohu.com/144885109.html两篇博文,对两位博主表示感谢。