OpenSSH 是 (Secure ) 协议的免费开源实现。SSH协议族可以用来进行远程控制, 或在计算机之间传送文件。而实现此功能的传统方式,如telnet( 协议)、 rcp ftp、 rlogin、rsh都是极为不安全的,并且会使用明文传送密码。 OpenSSH提供了服务端后台程序和客户端工具,用来加密远程控件和文件传输过程中的数据,并由此来代替原来的类似服务。
OpenSSH是使用SSH透过计算机网络加密通讯的实现。它是取代由SSH Communications Security所提供的商用版本的开放源代码方案。目前OpenSSH是OpenBSD的子计划。
OpenSSH常常被误认以为与OpenSSL有关联,但实际上这两个计划的有不同的目的,不同的发展团队,名称相近只是因为两者有同样的软件发展目标──提供开放源代码的加密通讯软件。
OpenSSH服务,sshd,是一个典型的独立 (standalone daemon),但也可以根据需要通过网络守护进程(Internet Daemon)-inetd(注3)或Ineternet Daemon's more modern-xinted(注4)加载。OpenSSH服务可以通过/etc/ssh/sshd_config文件进行配置。
1.安装
Ubuntu缺省安装了openssh-client,没有安装openssh-server,所以在这里就不安装了,如果你的系统没有安装的话,再用apt-get安装上即可。安装ssh-server:sudo apt-get install openssh-server安装ssh-client:sudo apt-get install openssh-client2.确认sshserver是否安装好
ps -e | grep sshd 450 ? 00:00:00 sshd如果看到sshd那说明ssh-server已经启动了,如果只有ssh-agent说明ssh-server还没有启动,需要执行命令启动ssh服务:
/etc/init.d/ssh start注:在ubuntu-12.04-server-i386.iso安装中只显示sshd这一项:3.扩展配置
SSH默认服务端口为22,用户可以自已定义成其他端口,如222,需要修改的配置文件/etc/ssh/sshd_config修改前先备份:sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
把里面的Port参数修改成222即可,然后重启SSH服务: sudo/etc/init.d/ssh restart
事实上如果没什么特别需求,到这里 OpenSSH Server 就算安装好了。但是进一步设置一下,可以让 OpenSSH 登录时间更短,并且更加安全。这一切都是通过修改 openssh 的配置文件 sshd_config 实现的。
首先,您刚才实验远程登录的时候可能会发现,在输入完用户名后需要等很长一段时间才会提示输入密码。其实这是由于 sshd 需要反查客户端的 dns 信息导致的。我们可以通过禁用这个特性来大幅提高登录的速度。首先,打开 sshd_config 文件:sudo nano /etc/ssh/sshd_config找到 GSSAPI options 这一节,将下面两行注释掉:#GSSAPIAuthentication yes#GSSAPIDelegateCredentials no
sudo /etc/init.d/ssh restart