
当前,仍有许使用密码登录服务器,但这会冒用暴力破解密码的风险(除非足够复杂). 根据同志的要求,我写了一个简单的密码更改键登录方法简单本教程很好.
本教程说明ROOT用户关闭密码登录方法并更改为Key key登录方法. 其他非ROOT用户相似,但是公用/专用/专用密钥的位置已更改.
同时,多个服务器可以共享一个密钥,以避免过多的服务器.
为确保服务器安全,建议: 非22端口+密钥登录+密钥密码,这是最安全的.

首先确保在系统上安装了openssl
openssl-V#通常,它将返回大量内容. 如果提示-bash: openssl: commandnotfound指示未安装,请使用以下命令进行安装: #CentOS系统: yuminstallopenssl-y#Debian / Ubuntu系统apt-getinstallopenssl -y
我们执行以下命令,它将根据以下提示开始生成ssh密钥对(私钥+公钥).
ssh-keygen

生成公共/私有密钥对. 输入要保存密钥的文件(/root/.ssh/id_rsa): #输入要保存的密钥文件的位置,然后直接按Enter键以恢复默认值. 创建目录“ / root / .ssh”. Enterpassphrase(emptyfornopassphrase): #Enter可以直接输入密钥的密码以保留空白,或者您可以输入密码以进一步提高安全性(密钥+密码双重保险). 再次输入: #重复密钥Youryouification的密码具有密码/ root / .ssh / id_rsa. #您的私钥位置/ root / .ssh / id_rsa Yourpublickeyhasbeensavedin / root / .ssh / id_rsa.pub. #您的公共密钥位置/ root / .ssh / id_rsa.pub Thekeyfingerprintis: 7c: 25: bd: 54: f5: fc: 60: c0: 86: c1: a0: 32: 7d: 8a: 80: root @ debian Thekey 'srandomartimageis: +-[RSA2048] ---- + | .o. + .. o .. | | o ..oo + o. | | .Eo ... o + o | |. ++哦| | ..S ... | |. | |. | || || + ------- ---------- +
生成密钥对后,我们必须在服务器上对其进行配置才能使用它:
cd.ssh#Enter.ssh目录ls-a#... id_rsaid_rsa.pub#查看当前文件夹(/root/.ssh/)mvid_rsa下的公钥(id_rsa.pub)和私钥(id_rsa) .pubauthorized_keys#重命名公共密钥(id_rsa.pub)ls-a#... authorized_keysid_rsa#再次检查当前文件夹(/root/.ssh/)下的公共密钥是否成功重命名chmod600authorized_keys chmod700〜/ .ssh#然后修改密钥文件的权限,以避免其他用户修改/删除. #chmod600-仅所有者拥有读取和写入权限. #chmod700-只有所有者拥有读取,写入和执行权限.
然后我们需要配置SSH,我们需要启用密钥登录选项(通常默认情况下启用它们)
vi / etc / ssh / sshd_config
通常默认情况下启用“是”. 如果不是,则更改为是.
然后重新启动SSH:
RSAAuthenticationyes PubkeyAuthenticationyes #yes表示开放密钥登录
配置服务器后,我们还需要配置SSH连接客户端.

/etc/init.d/sshrestart#如果此提示找不到服务,请尝试/etc/init.d/sshdrestart
首先,我们读取id_rsa密钥文件,然后将在屏幕上输出一系列密钥,然后在本地计算机上创建一个新的文本文件,并将屏幕上的密钥复制到该文件,文件名为Id_rsa (名称是任意的,但是必须保存此密钥文件!)
#键文件是这样的----- ----- BEGINRSAPRIVATEKEY PROC-类型: 4,ENCRYPTED DEK-信息: AES-128-CBC,EA47822B9A9E56338A99D07084DA38 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX --- ENDRSAPRIVATEKEY -----
然后我们打开SSH连接客户端,我使用Xshell,这里演示了如何导入私钥.
首先打开当前会话连接用户身份验证的属性.
选择“公共密钥”作为用户身份验证方法,然后单击“浏览”按钮.

在用户密钥管理窗口中,单击导入按钮,然后选择我们刚刚检索到的私钥文件id_rsa.
选择后,将要求您输入私钥的密码. 如果您在生成上面的密钥对时设置了密码,请输入密码,否则将其留空. 然后单击“确定”按钮继续.



选择刚添加的用户密钥,然后单击确定按钮. (为了更好地进行标识,您可以重命名名称以避免混淆密钥来自哪个服务器)

这时,我们返回到用户认证设置窗口. 我们填写用户名: root,密码: 用户密钥的密码,单击确定按钮.

然后,我们可以断开服务器的连接,然后尝试再次连接到服务器(使用键连接). 如果出现问题,没关系. 我们暂时尚未关闭密码登录. 我们还可以使用密码登录以进行故障排除.
如果您确定可以使用Key键登录,那么我们需要关闭密码登录方法.
我们打开SSH配置文件并找到以下参数.

vi / etc / ssh / sshd_config#默认情况下,此参数选项为no,如果没有,它将更改为no,如果前面有注释#,然后删除#PasswordAuthenticationno
最后重新启动SSH:
/etc/init.d/sshrestart#如果此提示找不到服务,请尝试/etc/init.d/sshdrestart
如果有许多服务器,但又不想为每个服务器生成单独的密钥安全密钥破解,则可以与多个服务器共享密钥.
公钥的位置也与上述教程相同. 假设我们是ROOT用户安全密钥破解,则在/根目录下创建一个新的.ssh目录:
mkdir / root / .ssh
然后通过FTP / SFTP将您的公共密钥之一(authorized_keys)上传到其他服务器的/root/.ssh目录中
或通过读写来写入其他服务器的/root/.ssh目录
catauthorized_keys#如果直接在本地打开副本,则读取服务器上公共密钥文件的内容echo -e“ xxxx”> /root/.ssh/authorized_keys#然后将上述代码的xxxx更改为The content复制您的公共密钥文件,然后使用上面的命令将其写入/root/.ssh/authorized_keys文件.
然后按照上述教程配置SSH.
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/ruanjian/article-224838-1.html
万斤顶顶