.ssh的免密登陆的实现(Linux系统下)

常登陆情况下我们都是按照命令连接远程,然后输入密码,而且每次连接都要输入此密码,非常的麻烦

 那就让我们愉快的学习怎么实现免密登陆吧!

1.配置公钥

执行ssh-keygen即可生成SSH钥匙,一路回车即可

此时.ssh目录下就会生成 id_rsa(私钥)     id_rsa.pub(公钥) 两个文件

(服务端) 使用 公钥 加密的数据  需要使用 私钥 解密

(客户端) 使用 私钥 加密的数据 需要使用  公钥 解密                     --------非对称加密算法

2.上传公钥到服务器

执行 ssh-copy-id -p port user@remote ,可以让远程服务器记住我们的公钥

 这样远程Linux主机家目录下的.ssh目录,就会多出一个文件 authorized_keys

这样,我们再次登陆的时候就可以免密登陆了!

简述原理图

——————————————————————————————你以为完了?不!还有几个实用技巧!————++++++++

3.禁用密码登录

既然开启了SSH免密登陆,就可以把密码登陆关闭了。这样既可以快速连接远程服务器,也可以防止黑客攻击服务器,美滋滋啊。下面为具体步骤。 - 修改/etc/ssh/sshd_config文件:

vim /etc/ssh/sshd_config
  • 将其中3行命令更改,前面若带#,就删掉,作用是可以用密钥登陆服务器:
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
  • 然后在修改其中PasswordAuthentication属性为no,即禁用密码登陆:
PasswordAuthentication no
  • 重启sshd服务使操作生效:
systemctl restart sshd.service

:本地密钥请保存好,远程服务器authorized_keys中公钥也别乱修改。

4.配置别名

每次都输入 ssh -p port user@remote,会很麻烦,我们可以直接配置别名,便于记忆

加入我们配置 ssh root 来替代上方命令,我们只需在 ~/.ssh/config里面追加以下内容

Host wang
     HostName ip地址
     User 用户名
     Port 22

 保存之后,就可以直接用 ssh root实现远程登陆了

发布了43 篇原创文章 · 获赞 80 · 访问量 8753

猜你喜欢

转载自blog.csdn.net/qq_44717317/article/details/102781363