Ubuntu 12.04安装和设置SSH服务

时间:2022-06-26 14:28:29
  OpenSSH 是 SSH (Secure SHell) 协议的免费开源实现。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-client

2.确认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

然后重新启动 ssh 服务即可:

sudo /etc/init.d/ssh restart