2018-10-15
原标题:linux下禁止用户使用密码方式登陆,而使用**方式登陆
出处:https://blog.****.net/zhaohaifan/article/details/8051694
2012年10月09日 12:00:41 dreamZhf 阅读数:20750更多
个人分类: linux
使用putty生成**和登陆
根据公钥认证的原理(见后面说明),认证双方任何一方都可制作该钥匙对,并且只要认证方有被认证方的公钥信息,即可匹配成功。
这里,我们先以Windows上的putty登陆Linux服务器为例说明。所以,该**对由putty制作。
继续前,请确保您已经把整个putty包都下载完:
其中包括:PuTTY、Puttygen、PSCP、Plink、Pagent 等工具。
1、使用puttygen制作**
启动puttygen工具,为兼容OpenSSH**,选择“SSH2 RSA”:
单击 生成 按钮,并使用鼠标在 空白区域内移动,以获得足够的随机数据供生成**使用:
※期间,那我们要移动鼠标,直到进度条走满为止。
完成后的窗口如下:
其中:
**注释:不会影响**的有效性,但可作为自己用于区别其他**的参考;
两次输入**密码
随后,点击 保存私钥 。
如果没有输入**密码,会有警告:
输入私钥的文件名:
※公钥信息可以不用保留在本地的,puttygen可以从私钥得到它,验证时也不会用到。
2、拷贝公钥信息
公钥信息:
需要把该信息拷贝到Linux服务器的特定文件中:`~/.ssh/authroized_keys` 【原作者打错了,应该是`~/.ssh/authorized_keys`】
其中,“~”表示对应用户的主目录,以root为例。
若.ssh目录不存在,请创建它,并把公钥信息写入文件中:
# mkdir ~/.ssh
# chmod 700 ~/.ssh
# vi ~/.ssh/authorized_keys
# chmod 644 ~/.ssh/authorized_keys
※请务必留意:文件和目录的权限问题,用户必须是将要进行认证的用户,而权限必须是0644,也就是禁止其他人对该文件写入信息。(否则,某些有心人把自己的公钥写入这里,他也可以无密码进来了)
因为,通常umask是0022或0002的,所以请使用chown和chmod修改为对应的权限咯。
4、使用putty使用**登陆
对putty进行一些简单配置,即可使用**登陆Linux服务器。
选择SSH—认证,选择刚保存的私钥文件
然后点击打开即可
基于**认证的配置
# vi /etc/ssh/sshd_config
PasswordAuthentication no //禁止使用基于口令认证的方式登陆
PubkeyAuthentication yes //允许使用基于**认证的方式登陆
# /etc/init.d/sshd reload