2020-04-04 ssh免密登录

Secure Shell,又称 SSH,是允许通过无安全网络(例如 Internet)和远程系统之间安全访问/通信的加密网络协议。无论何时使用 SSH 在无安全网络上发送数据,它都会在源系统上自动地被加密,并且在目的系统上解密。最常用的认证方式是基于密码认证和基于密钥认证。

配置免密登录就是通过密钥认证登录远程服务器

1、在本地生成一对密钥(公钥/私钥)(id_rsa /id_rsa.pub)

$ ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa

参数说明:

-t 加密算法类型,使用rsa算法

-P 指定私钥的密码,不需要可以不指-P 参数

-f 指定生成秘钥对保持的位置

2、将本地公钥发送到服务端

$ ssh-copy-id ubuntu@123.206.26.82

  这里发送需要输入一次远程登录的密码

3.成功登录

$ ssh ubuntu@123.206.26.82

 4.查看服务端的公钥

$ cat .ssh/authorized_keys 

5.(可选)禁用服务端的密码认证

禁用基于密码的认证,需要在远程系统的终端里编辑 /etc/ssh/sshd_config 配置文件:

$ sudo vi /etc/ssh/sshd_config

找到下面这一行,去掉注释然后将值设为 no:

PasswordAuthentication no 

  重启 ssh 服务让它生效。

$ sudo systemctl restart sshd

这样其他机器就无法通过密码登录该远程服务器了

原文地址:https://www.cnblogs.com/cxl-blog/p/12626049.html