大家好,今天我来向大家介绍如何在 Ubuntu12.04 上设置 SSH 的无密码登录功能。仅在工作站上有正确的(公私)密钥对以供匹配时SSH服务端才会允许你登录,反之访问将不会被允许。

正常情况下,我们需要连上SSH的控制台输入用户名及其密码才行。如果两者全部正确,我们就可以访问,反之访问被服务端拒绝。不过相比而言还有一种比用密码更安全的登录方式,我们可以在登录SSH时通过加密密钥进行无密码登录。

如果你想启用这个安全的方式,我们只需简单的禁用密码登录并只允许加密密钥登录即可。使用这种方式时,客户端计算机上会产生一对私钥和公钥。接着客户端得把公钥上传到SSH服务端的authorized\_key文件中去。在授予访问前,服务器及客户端电脑会校验这个密钥对。如果服务器上的公钥与客服端提交的私钥匹配则授予访问权限,否则访问被拒绝。

这是认证到SSH服务器的非常安全的一种做法,如果你想为单一的SSH用户登录实现安全登录,这也是备受推崇的方式。这里快速的过一遍如何启用无密码登录SSH的配置过程。

1.安装Openssh服务端

首先,我们需要更新我们的本地库索引。所以如下所见,我们需要先输入“apt-get update”

$ sudo apt-get update

Updating Repo Index

现在我们可以通过以下命令安装openssh-server:

$ sudo apt-get install openssh-server

Installing openssh server

2. 开启openssh服务

在OpenSSH已经成功安装在Ubuntu14.04操作系统上了之后,我们要启动OpenSSH的服务。以下命令让你启动/开启服务。

$ sudo service ssh start

$ sudo /etc/init.d/ssh start

3. 配置密钥对

在我们安装并启动了OpenSSH服务以后。现在终于到了要我们搞定公私钥对的时候了,在终端中运行以下命令:

$ ssh-keygen -t rsa

在运行完以上命令了以后,我们需要回答一系列的问题。首先选择保存密钥的路径,按回车将会选择默认路径即家目录的一个隐藏的.ssh文件夹。下一个提示是请输入口令提醒。我个人将此留空(直接回车)。之后密钥对就会创建,大功告成。

Generating Key Pair

在密钥对生成以后,我们需要将客户端上的公钥复制到SSH服务端或者主机,来创建对客户端的信任关系。运行以下命令复制客户端的公钥到服务端。

$ ssh-copy-id user@ip_address

在公钥上传之后,我们现在可以禁用通过密码登陆SSH的方式了。为此,我们需要通过以下命令用文本编辑器打开/etc/ssh/ssh\_config

$ sudo nano /etc/ssh/sshd_config

现在,我们需要按照下图所示去掉几行注释并进行一些赋值。

Configuring sshd Config

4. 重启SSH服务

最后,在我们配置完SSH服务端后,为了使改动生效我们需要重启SSH服务。在终端或控制台运行以下命令重启。

$ sudo service ssh restart

$ sudo /etc/init.d/ssh restart

Restarting ssh

现在,我们可以试试不用密码仅用密钥对的方式登录ssh服务端了。

总结

太好了!我们成功的配置了无密码登录SSH。使用加密密钥对进行SSH服务器认证是非常安全的一种做法,如果你想为SSH的单一用户登录实施安全的认证这也是备受推崇的方式。所以,如果你还有什么问题或建议,请在意见框中向我们反馈。很欣慰你能读完,希望你能喜欢加密的SSH安全登录 :-)


via: http://linoxide.com/ubuntu-how-to/setup-passwordless-ssh-logon-ubuntu-14-04/

作者:Arun Pyasi 译者:martin2011qi 校对:wxy

本文由 LCTT 原创翻译,Linux中国 荣誉推出

已有 33 条评论

  1. 眼看着15.04都要出来了。。 —— 微博评论 发表。
  2. @微软云笔记 —— 微博评论 发表。
  3. 其实我觉得 Linode Tutorial 特别适合运维入门…… —— 微博评论 发表。
  4. Ubuntu 14.04 SSH 自动登录 —— 微博评论 发表。
  5. Repost —— 微博评论 发表。
  6. 配图的意思是单身狗滚粗Linux界??? —— 微博评论 发表。
  7. 很好非常有帮助! —— Esteem 发表。
  8. 我喜欢这配图[笑cry]//@LinuxStory://@哈尔滨Linux用户组:Repost —— 微博评论 发表。
  9. 好图。//@哈尔滨Linux用户组: Repost —— 微博评论 发表。
  10. 配图亮了//@赵涛Alick:好图。//@哈尔滨Linux用户组: Repost —— 微博评论 发表。
  11. 故意的[doge] //@爱开源魅影:配图亮了//@赵涛Alick:好图。//@哈尔滨Linux用户组: Repost —— 微博评论 发表。
  12. 這個跟版本有啥關係呢?知道原理都一樣操作的。 —— 来自 - 广东广州 的 Safari/Mac 用户 发表。
  13. 這個跟版本有啥關係呢?知道原理都一樣操作的。 —— ljsalm 发表。
  14. 回复@在路上弹着小尤唱着歌:[偷笑] —— 微博评论 发表。
  15. 你们。。。其实我是想体现“公钥”、“私钥”的意思。。话说“钥”是念 yao 还是念 yue?//@爱开源魅影: 配图亮了//@赵涛Alick:好图。//@哈尔滨Linux用户组:Repost —— 微博评论 发表。
  16. //@Linux中国:你们。。。其实我是想体现“公钥”、“私钥”的意思。。话说“钥”是念 yao 还是念 yue?//@爱开源魅影: 配图亮了//@赵涛Alick:好图。//@哈尔滨Linux用户组:Repost —— 微博评论 发表。
  17. @我的印象笔记 —— 微博评论 发表。
  18. yao和yue不重要[doge]//@Linux中国: 你们。。。其实我是想体现“公钥”、“私钥”的意思。。话说“钥”是念 yao 还是念yue?//@爱开源魅影: 配图亮了//@赵涛Alick:好图。//@哈尔滨Linux用户组: Repost —— 微博评论 发表。
  19. yue可我还是早读yao //@Linux中国:你们。。。其实我是想体现“公钥”、“私钥”的意思。。话说“钥”是念 yao 还是念 yue?//@爱开源魅影:配图亮了//@赵涛Alick:好图。//@哈尔滨Linux用户组: Repost —— 微博评论 发表。
  20. 我是这样的:在“公钥”、“私钥”中念mi,在"密钥"中是读yao[挖鼻屎],也不知道怎么回事,好像就从它们身边随手抓了一个认的字就读了,而且半天没有反应过来[吃惊]//@Linux中国: 你们。。。其实我是想体现“公钥”、“私钥”的意思。。话说“钥”是念 yao 还是念 yue? —— 微博评论 发表。

添加新评论