SSH的密钥管理主要包括两个方面:生成公钥/私钥对以及公钥的分发,下面将对这两个密钥管理工作分别进行介绍。 (1)生成用户自己的密钥对 生成并分发用户自己的密钥有两个好处: 可以防止“中间人”这种攻击方式。 可以只用一个口令就登录到所有用户想登录的服务器上。 用下面的命令可以生成密钥: #ssh-keygen 如果远程主机使用的是SSH 2.x就要用这个命令: #ssh-keygen –d 在同一台主机上同时有SSH1和SSH2的密钥是没有问题的,因为密钥是保存为不同的文件的。
ssh-keygen命令运行之后会显示下面的信息: Generating RS……
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
SSH的密钥管理主要包括两个方面:生成公钥/私钥对以及公钥的分发,下面将对这两个密钥管理工作分别进行介绍。
(1)生成用户自己的密钥对
生成并分发用户自己的密钥有两个好处:
可以防止“中间人”这种攻击方式。
可以只用一个口令就登录到所有用户想登录的服务器上。
用下面的命令可以生成密钥:
#ssh-keygen
如果远程主机使用的是SSH 2.x就要用这个命令:
#ssh-keygen –d
在同一台主机上同时有SSH1和SSH2的密钥是没有问题的,因为密钥是保存为不同的文件的。ssh-keygen命令运行之后会显示下面的信息:
Generating RSA keys:
Key generation complete.
Enter file in which to save the key (/home/[user]/.ssh/identity):
//此时按下回车键就行了
Created directory '/home/[user]/.ssh'.
Enter passphrase (empty for no passphrase): //输入的口令不会显示在屏幕上
//重新输入一遍口令,如果忘记了口令就只能重新生成一次密钥了
Enter same passphrase again:
//保存用户的私人密钥和公用密钥
Your identification has been saved in /home/[user]/.ssh/identity.
Your public key has been saved in /home/[user]/.ssh/identity.pub.
The key fingerprint is: 2a:dc:71:2f:27:84:a2:e4:a1:1e:a9:63:e2:fa:a5:89 [user]@[local machine]
“ssh-keygen -d”做的是几乎同样的事,但是把一对密钥存为(默认情况下)“/home/[user] /.ssh/id_dsa”(私人密钥)和“/home/[user]/.ssh/id_dsa.pub”(公用密钥)。
现在用户拥有一对密钥:公用密钥要分发到所有用户想用ssh登录的远程主机上去;私人密钥要好好地保管防止别人知道私人密钥。用“ls-l ~/.ssh/identity”或“ls-l ~/.ssh/id_dsa”所显示的文件的访问权限必须是“-rw-------”。
(2)分发公用密钥
在每一个用户需要用SSH连接的远程服务器上,用户要在自己的主目录下创建一个“.ssh”的子目录,把用户的公用密钥“identity.pub”拷贝到这个目录下并把它重命名为“authorized_ keys”。然后执行:
chmod 644 .ssh/authorized_keys
这一步是必不可少的。如果除了用户之外别人对“authorized_keys”文件也有写的权限,SSH就不会工作。
如果用户想从不同的计算机登录到远程主机,“authorized_keys”文件也可以有多个公用密钥。在这种情况下,必须在新的计算机上重新生成一对密钥,然后把生成的“identify.pub”文件拷贝并粘贴到远程主机的“authorized_keys”文件里。当然在新的计算机上用户必须有一个账号,而且密钥是用口令保护的。有一点很重要,就是当用户取消了这个账号之后,别忘了把这一对密钥删掉。
相关推荐
-
新libSSH漏洞可获取服务器root访问权限
隐蔽近五年的libSSH漏洞可让恶意攻击者通过SSH服务器进程轻松获取对设备的管理控制。 NCC集团安全顾问P […]
-
使用SSH+VNC实现安全的Linux远程桌面管理
VNC可以对数据进行压缩,使得传输的数据量比直接用SSH加密的小,但这可以造成数据窃听,必要时可以通过SSH进行加密端口映射。
-
SSH的应用场景
SSH的用途广泛,本文介绍了SSH的两种应用场景:使用scp命令远程拷贝文件和使用SSH设置“加密通道”。
-
SSH简介
企业越来越多地应用SSH(Secure Shell)技术来进行远程控制和数据传输工作,本文将详细介绍SSH原理及其安全验证。