大道至简,知易行难
广阔天地,大有作为

SSH密钥对的使用(使用密钥对认证方式登陆SSH服务器)

密钥对生成完成后,我们需要将公钥放置在SSH服务端中才能使用。要么使用ssh-copy-id命令,要么使用任意方式登陆到服务器上然后手工复制。一般情况下,公钥需要被复制到服务器sshd服务所配置的特定目录的特定文件中(通过sshd_config配置文件中的AuthorizedKeysFile参数指定,默认为/home/.ssh)。

一、使用ssh-copy-id命令
在Linux环境下,我们可以使用ssh-copy-id命令将公钥复制到SSH服务端的authorized_keys文件中:

使用ssh-copy-id上传SSH客户端公钥

使用ssh-copy-id上传SSH客户端公钥

需要注意,authorized_keys是一个普通的文本文件,其中可以包括多个公钥。例如,如下的文件就包含两个公钥:

包含多个客户端公钥的authorized_keys文件

包含多个客户端公钥的authorized_keys文件

如果要向authorized_keys文件最后追加公钥,可以使用如下的命令:
cat <your_key >>~/.ssh/authorized_keys

二、登陆到服务器上然后手工复制
我们也可以使用任意的方法,将生成的客户端公钥复制到SSH服务端的~/.ssh/authorized_keys文件中。如果没有.ssh目录,需要自己建立一个,并更改目录权限为700:

.ssh目录的权限为700

.ssh目录的权限为700

此外,有文章说authorized_keys文件的权限为644:
然后直接将id_rsa.pub的内容粘贴到authorized_keys文件的最后即可:

id_rsa.pub

id_rsa.pub

很明显,包含多个客户端公钥的authorized_keys文件中的第一个公钥就是上图的公钥。

三、使用ssh命令进行密钥认证方式登陆
1、私钥无密码保护时
无面面保护时直接登陆成功,在此不再赘述。
2、私钥有密码保护时

有密码保护的私钥登陆SSH

有密码保护的私钥登陆SSH

四、使用Xshell进行密钥认证方式登陆
使用Xshell新建连接,输入SSH服务端IP地址,在“用户身份验证”中的“方法”中选择为基于公钥的验证,然后填入公钥对应的用户名和私钥证书:

Xshell配置SSH密钥对认证

Xshell配置SSH密钥对认证

 

转载时请保留出处,违法转载追究到底:进城务工人员小梅 » SSH密钥对的使用(使用密钥对认证方式登陆SSH服务器)

分享到:更多 ()

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址