背景交代
虚拟主机系统:Ubuntu 14.04本地/客户端系统:Ubuntu 14.04
SSH无密码登陆服务器比较常见的做法是,在终端生成一对密钥(公钥&私钥),然后将公钥上传服务器,私钥由客户端存留。当我们在本地登陆远程服务器时,由于存有公钥的服务器与存有私钥的客户端之间已产生互信,因此无需输入登陆密码,直接登入服务器。
下文是具体实现步骤
1. 生成密钥对
在终端输入如下命令:
~$ ssh-keygen -t rsa
这时会出现如下图提示。按回车键即可:
然后你会看到如下图提示。因为我们是希望“无码”登陆,因此两行提示皆按回车键:
最终在你本机生成密钥成功后,终端会显示类似如下图信息:
在Ubuntu 14.04系统,密钥对生成文件名为 ,存放在你的用户目录下。在终端输入如下命令:
.ssh
~$ cd ~/.ssh
~/.ssh$ ll
即可查看密钥对文件内容,如图示:
(其中 id_rsa.pub 为公钥文件, id_rsa 为私钥文件。)
2.上传公钥文件至服务器
继续在终端输入如下命令(请注意!在实际操作中,无需输入尖括号。这里添加只是为了更好叙述):
ssh-copy-id <你的服务器端用户名>@<你的服务器端 ip 地址>
此时你会看到类似信息如下图:
按照这篇文章的介绍,此时我们已经成功了,以后你再登陆服务器,不会有密码输入提示,可直接登入。
但是
在我电脑的实际操作中,设置好SSH后,重新登陆服务器时出现 “Agent admitted failure to sign using the key” 的错误提示,如图示:
根据这里的答案,我解决了上述问题并最终成功登陆服务器。操作如下:
即,在终端输入命令
~$ ssh-add
即可。
© 版权声明
文章版权归作者所有,未经允许请勿转载。如内容涉嫌侵权,请在本页底部进入<联系我们>进行举报投诉!
THE END















暂无评论内容