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
这样其他机器就无法通过密码登录该远程服务器了