SSH认证使用RSA密钥认证免密码登录方法


一:安装SSH服务

安装方法:

apt-get install ssh

        安装完成后验证是否SSH安装成功,验证方法:

        在命令行模式下执行命令:

ssh -v

        有显示ssh版本证明成功:

2015-01-25/54c46d4d1faf9.jpg

二:Server服务端

        查看Server端用户目录下是否存在隐藏目录".ssh",如果是root用户,那么进入相应的用户目录查看即可,如果没有需要新建目录.

        检查完毕后可生成公钥秘钥,建立方法如下:

ssh-keygen

        执行过程中,它先要求你确认保存公钥的位置(默认为:.ssh/id_rsa),然后它会让你重复输入一个密码两次,如果不想在使用公钥的时候输入密码,可以留空,执行完毕后,就会生成数据Client端的一对密钥.

SSH 密钥默认储存在用户目录下的 .ssh 目录中,看有没有用 id_rsa 和 id_rsa.pub 来命名的一对文件,有 .pub 后缀的文件就是公钥,另一个文件则是密钥。

        生成的一对公私钥,顾名思义:公钥是公开的,不需要保密,而私钥是由个人自己持有,并且必须妥善保管和注意保密。

三:将Client客户端的公钥添加到用于认证的Server服务端的公钥文件中

        首先检查Server端需要认证的用户目录下,隐藏目录“ssh”目录下是否存在一个名为“authorized_keys”的文件,若不存在,使用命令:touch authorized_keys 创建一个空文件.

执行步骤如下:

1,将Clinet客户端公钥的内容复制

2,将复制到的Client客户端公钥内容,粘贴至Server服务端刚才创建的 authorized_keys 文件中,保存文件。

3,更改 authorized_keys 文件的权限

执行命令:

chmod 600  authorized_keys

最后保存,重启

sudo /etc/init.d/ssh restart

好了,大功告成了.

四:如果需要禁止SSH密码登录的方式,只使用key登录,那么可以这样做

vi /etc/ssh/sshd_config
RSAAuthentication yes
#RSA认证
PubkeyAuthentication yes
#开启公钥验证
AuthorizedKeysFile    .ssh/authorized_keys
#验证文件路径 
PasswordAuthentication no
#禁止密码认证
PermitEmptyPasswords no
#禁止空密码
UsePAM no
#禁用PAM

最后保存,重启

sudo /etc/init.d/ssh restart





上一篇 下一篇

评论



分享

我的公众号

恩波的公众号

最新加入

最新评论

dreamer: 求邀请码1079623171@qq.com 查看原文 06月20日 09:03
恩波: 时隔2年多了,目前微信卡券估计已经变了好多了,不好意思啊 查看原文 06月01日 15:33
lwj: 你好,我刚看了你发的这个帖子,不知道现在评论是否能看到。我现在在做这个功能,可以用。但我这还有个需求就是,可以推送多张,我在cardList里,把需要推送的卡券,都添加上了,微信端页面也显示正确,有个领取按钮,但可以领取多次,每次卡包里多一张,而且这张是列表上的第一张 。。请问,你有没有遇到过 推送多张的情况 查看原文 05月15日 14:29
roly: 另外添加卡券接口的参数cardId: "xxxxxxxxxxxxxxxxxxxxxx", cardExt: '{"timestamp":"1426222398","signature":"fdd892770eb681e925f92acb9015c75107b2227a"}' 是通过自己服务获取以上参数 还是用js在html5页面直接生产签名参数? 查看原文 05月12日 16:41
roly: 您好,请问怎么查询当前用户卡券是否领取状态? 查看原文 05月12日 16:20

赞助商