网上有很多介绍在 Ubuntu 下开启 SSH 服务的文章,但大多数介绍的方法测试后都不太理想,均不能实
现远程登录到 Ubuntu 上,最后分析原因是都没有真正开启 ssh-server 服务。最终成功的方法如下:
Ubuntu 下安装 OpenSSH Server 是无比轻松的一件事情,需要的命令只有一条:
sudo apt-get install openssh-server
(查看返回的结果,如果没有出错,则用 putty、SecureCRT、SSH Secure Shell Client 等 SSH 客户
端软件,输入您服务器的 IP 地址。如果一切正常的话,等一会儿就可以连接上了。并且使用现有的用户
名和密码应该就可以登录了。)
然后确认 sshserver 是否启动了:(或用“netstat -tlp”命令)
ps -e | grep ssh
如果只有 ssh-agent 那 ssh-server 还没有启动,需要/etc/init.d/ssh start,如果看到 sshd 那说明
ssh-server 已经启动了。
ssh-server 配置文件位于/ etc/ssh/sshd_con&g,在这里可以定义 SSH 的服务端口,默认端口是
22,你可以自己定义成其他端口号,如 222。然后重启 SSH 服务:
sudo /etc/init.d/ssh resart
事实上如果没什么特别需求,到这里 OpenSSH Server 就算安装好了。但是进一步设置一下,可以
让 OpenSSH 登录时间更短,并且更加安全。这一切都是通过修改 openssh 的配置文件 sshd_con&g
实现的。
首先,您刚才实验远程登录的时候可能会发现,在输入完用户名后需要等很长一段时间才会提示输入
密码。其实这是由于 sshd 需要反查客户端的 dns 信息导致的。我们可以通过禁用这个特性来大幅提高
登录的速度。首先,打开 sshd_con&g 文件:
sudo nano /etc/ssh/sshd_con&g
找到 GSSAPI options 这一节,将下面两行注释掉:
#GSSAPIAuthentication yes #GSSAPIDelegateCredentials no 然后重新启动 ssh 服务即可:
sudo /etc/init.d/ssh restart
再登录试试,应该非常快了吧
利用 PuTTy 通过证书认证登录服务器
SSH 服务中,所有的内容都是加密传输的,安全性基本有保证。但是如果能使用证书认证的话,安
全性将会更上一层楼,而且经过一定的设置,还能实现证书认证自动登录的效果。
首先修改 sshd_con&g 文件,开启证书认证选项:
RSAAuthentication yes PubkeyAuthentication yes AuthorizedKeysFile
%h/.ssh/authorized_keys 修改完成后重新启动 ssh 服务。
下一步我们需要为 SSH 用户建立私钥和公钥。首先要登录到需要建立密钥的账户下,这里注意退出
root 用户,需要的话用 su 命令切换到其它用户下。然后运行:
ssh-keygen
这里,我们将生成的 key 存放在默认目录下即可。建立的过程中会提示输入 passphrase,这相当
评论0