2022年6月8日
我记得这个ssh我曾经花了很多时间.现在再看这些东西感觉比较简单了.正好我就去总结一下.也方便我以后用.
原理:生成一对密钥-公钥和私钥.公钥放在服务器上,私钥在用户端.这就相当于身份认证,这一对密钥就是我的专属.
1 设置 SSH 通过密钥登录 | 菜鸟教程 (runoob.com).
2 SSH之known_hosts文件EricXiao666的博客-CSDN博客known_host.
1制作密钥对
[root@host ~]$ ssh-keygen <== 建立密钥对
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): <== 按 Enter
Created directory ‘/root/.ssh’.
Enter passphrase (empty for no passphrase): <== 输入密钥锁码,或直接按 Enter 留空
Enter same passphrase again: <== 再输入一遍密钥锁码
2 公钥安装
cat id_rsa.pub >> authorized_keys
chmod 600 authorized_keys
chmod 700 ~/.ssh
#公钥Public Key(id_rsa.pub)的权限是644,而私钥Private Key(id_rsa)的权限只能是600.权限不对认为是不安全的.
3 权限设置
#/etc/ssh/sshd_config设置ssh通过
RSAAuthentication yes
PubkeyAuthentication yes
PermitRootLogin yes #root用户
PasswordAuthentication no #禁用密码
service sshd restart#重启服务
4 known_hosts
用来记录登陆记录的.可以取消它
方法一:删除A的known_hosts文件中记录的B的公钥(手动进行,不适用于自动化部署情形)
方法二:修改配置文件,在ssh登陆时不通过known_hosts文件进行验证(安全性有所降低),修改完需重启机器
vi ~/.ssh/config //编辑配置文件
添加以下两行代码:
StrictHostKeyChecking no
UserKnownHostsFile /dev/null