企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持知识库和私有化部署方案 广告
先安装:yum install openssh*  SSH是我们登录VPS常用的方式,因此SSH账号的安全至关重要。常见的用户名+密码的登录方式很容易受到暴力破解的影响,为了避免影响,我们可以直接禁止用户名+密码登录VPS的方式,改用密钥登录,既保证了安全,又方便快捷。下面就介绍一下配置ssh key登录的方法。 **一、PuttyGen以及Putty软件的下载** 这一步看似简单,其实有着至关重要的作用。大家一定要到官方网站进行下载([putty官网](http://www.putty.org/)可能被墙,请科学上网),一些中文版及不安全链接下载的软件可能会存有后门,带来极大的安全隐患。 我们需要下载的是putty.exe和puttygen.exe两个程序 ![](http://img.blog.csdn.net/20150817150143575?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast) **二、密钥的生成** 首先利用用户名+密码登录VPS,在终端中利用以下命令生成RSA密钥 **[plain]** [view plain](http://blog.csdn.net/keneuro/article/details/47724939# "view plain") [copy](http://blog.csdn.net/keneuro/article/details/47724939# "copy") 1. ssh-keygen -t rsa   ![](http://img.blog.csdn.net/20150817152113844?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast) 生成密钥时选择默认位置即可,同时可以选择为密钥增加密码(设置密码后,使用密钥时还需要输入密码) 进入密钥生成的目录,可以看见两个文件id_rsa和id_rsa.pub,将这两个文件下载下来,保存好为后面做准备。 ![](http://img.blog.csdn.net/20150817152448361?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast) 在密钥生成的目录中将其重命名,并且设置权限 **[plain]** [view plain](http://blog.csdn.net/keneuro/article/details/47724939# "view plain") [copy](http://blog.csdn.net/keneuro/article/details/47724939# "copy") 1. mv id_rsa.pub authorized_keys   2. chmod 600 authorized_keys   编辑sshd_config,将RSAAuthentication和PubkeyAuthentication两行前面的 # 去掉 **[plain]** [view plain](http://blog.csdn.net/keneuro/article/details/47724939# "view plain") [copy](http://blog.csdn.net/keneuro/article/details/47724939# "copy") 1. vi /etc/ssh/sshd_config   ![](http://img.blog.csdn.net/20150817153322824?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast) 为了安全还可以修改默认的SSH端口,找到#port 22,去掉前面的#,然后修改port后的数字。 ![](http://img.blog.csdn.net/20150817160613018?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast) 保存后重启SSHD服务(CentOS7中为systemctl restart sshd.service) **[plain]** [view plain](http://blog.csdn.net/keneuro/article/details/47724939# "view plain") [copy](http://blog.csdn.net/keneuro/article/details/47724939# "copy") 1. /etc/init.d/sshd restart   注:CentOS7中的firewall配置 firewall中默认ssh端口为22,在修改端口后需要对其进行设置才能正常登录 复制 firewalld 有关 sshd 的配置文件: **[plain]** [view plain](http://blog.csdn.net/keneuro/article/details/47724939# "view plain") [copy](http://blog.csdn.net/keneuro/article/details/47724939# "copy") 1. cp /usr/lib/firewalld/services/ssh.xml /etc/firewalld/services/   **[plain]** [view plain](http://blog.csdn.net/keneuro/article/details/47724939# "view plain") [copy](http://blog.csdn.net/keneuro/article/details/47724939# "copy") 1. vi /etc/firewalld/services/ssh.xml   修改将“22”改为所需的端口 保存后重载sshd服务 **[plain]** [view plain](http://blog.csdn.net/keneuro/article/details/47724939# "view plain") [copy](http://blog.csdn.net/keneuro/article/details/47724939# "copy") 1. firewall-cmd --reload   三、密钥配置 打开puttygen.exe软件,将下载的id_rsa文件载入(Load),如果刚才设置了密码,则需要输入密码才能载入,载入成功后如图![](http://img.blog.csdn.net/20150817154113402?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast) 同样,在Key passphrase中可以设置密钥的密码,如不想设置,直接点击Save private key即可,根据提示保存为*.ppk文件 **四、Putty客户端配置** 打开putty客户端,输入VPS的IP地址和SSH连接的端口号 ![](http://img.blog.csdn.net/20150817155006356?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast) 进入SSH选项,点击Browse选择刚才保存的*.ppk文件 ![](http://img.blog.csdn.net/20150817155148647?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast) 然后返回Session选项,点击Load保存配置。 正常进行登录,若刚才设置了密钥密码,则输入密码后可以正常登录 ![](http://img.blog.csdn.net/20150817155529852?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast) 最后,修改sshd_config,将PasswordAuthentication后面的yes改成no,并且重启SSHD(CentOS7中为systemctl restart sshd.service) **[plain]** [view plain](http://blog.csdn.net/keneuro/article/details/47724939# "view plain") [copy](http://blog.csdn.net/keneuro/article/details/47724939# "copy") 1. vi /etc/ssh/sshd_config   2. /etc/init.d/sshd restart   ![](http://img.blog.csdn.net/20150817160054975?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast) 到这里设置就完成了 **最后,一定要保存好自己的密钥,任何拿到该密钥的人都可以登录你的root账户,建议还是为密钥设置密码以防万一。**