CentOS设置SSH Key登录

来源:互联网 发布:c语言打印杨辉三角 编辑:程序博客网 时间:2024/05/16 10:39

SSH是我们登录VPS常用的方式,因此SSH账号的安全至关重要。常见的用户名+密码的登录方式很容易受到暴力破解的影响,为了避免影响,我们可以直接禁止用户名+密码登录VPS的方式,改用密钥登录,既保证了安全,又方便快捷。下面就介绍一下配置ssh key登录的方法。


一、PuttyGen以及Putty软件的下载

这一步看似简单,其实有着至关重要的作用。大家一定要到官方网站进行下载(putty官网可能被墙,请科学上网),一些中文版及不安全链接下载的软件可能会存有后门,带来极大的安全隐患。

我们需要下载的是putty.exe和puttygen.exe两个程序



二、密钥的生成

首先利用用户名+密码登录VPS,在终端中利用以下命令生成RSA密钥

ssh-keygen -t rsa

生成密钥时选择默认位置即可,同时可以选择为密钥增加密码(设置密码后,使用密钥时还需要输入密码)

进入密钥生成的目录,可以看见两个文件id_rsa和id_rsa.pub,将这两个文件下载下来,保存好为后面做准备。


密钥生成的目录中将其重命名,并且设置权限

mv id_rsa.pub authorized_keyschmod 600 authorized_keys

编辑sshd_config,将RSAAuthentication和PubkeyAuthentication两行前面的 # 去掉

vi /etc/ssh/sshd_config


为了安全还可以修改默认的SSH端口,找到#port 22,去掉前面的#,然后修改port后的数字。


保存后重启SSHD服务(CentOS7中为systemctl restart sshd.service)

/etc/init.d/sshd restart

注:CentOS7中的firewall配置

firewall中默认ssh端口为22,在修改端口后需要对其进行设置才能正常登录

复制 firewalld 有关 sshd 的配置文件:

cp /usr/lib/firewalld/services/ssh.xml /etc/firewalld/services/
vi /etc/firewalld/services/ssh.xml
修改<port protocol="tcp" port="22"/>将“22”改为所需的端口

保存后重载sshd服务

firewall-cmd --reload

三、密钥配置

打开puttygen.exe软件,将下载的id_rsa文件载入(Load),如果刚才设置了密码,则需要输入密码才能载入,载入成功后如图

同样,在Key passphrase中可以设置密钥的密码,如不想设置,直接点击Save private key即可,根据提示保存为*.ppk文件


四、Putty客户端配置

打开putty客户端,输入VPS的IP地址和SSH连接的端口号


进入SSH选项,点击Browse选择刚才保存的*.ppk文件


然后返回Session选项,点击Load保存配置。

正常进行登录,若刚才设置了密钥密码,则输入密码后可以正常登录


最后,修改sshd_config,将PasswordAuthentication后面的yes改成no,并且重启SSHD(CentOS7中为systemctl restart sshd.service)

vi /etc/ssh/sshd_config/etc/init.d/sshd restart



到这里设置就完成了

最后,一定要保存好自己的密钥,任何拿到该密钥的人都可以登录你的root账户,建议还是为密钥设置密码以防万一。


0 0
原创粉丝点击