环境:Ubuntu 18.04
软件:ssh服务、openssh-clients服务
Linux之间密钥登录
一、使用Ubuntu生成密钥
- 生成公钥和私钥
ssh-keygen -t rsa -C "注释"
- 运行后会在家目录下的.ssh文件夹内生成
id_rsa #私钥
id_rsa.pub #公钥
- 将公钥发送到另一台服务器上,会在另一台服务器的~/.ssh下生成authorized_keys文件
ssh-copy-id -i ~/.ssh/id_rsa.pub [用户名]@[对方服务器IP]
- 尝试远程登录
- 查看对方的authorized_keys 确认公钥是否成功接受,OK
cat ~/.ssh/authorized_keys
- 若对方服务器想要免密登录本机则重复以上操作即可
- 当有多台服务器要免密登录时候,可以把公钥文件先发送给同一台服务器
然后在这台服务器上把自己的公钥文件写入authorized_keys
再把authorized_keys文件远程拷贝到其它机器的相应目录下即可
Windows密钥登录Linux
使用xshell密钥方式连接ubuntu
一、使用Ubuntu生成密钥
- 生成密钥的三种方法
ssh-keygen -t rsa #不带注释
ssh-keygen -t rsa -C "注释" #带注释
ssh-keygen -m PEM -t rsa -C "注释" #PEM格式
- 运行后会在家目录下的.ssh文件夹内生成
id_rsa #私钥
id_rsa.pub #公钥
- 将公钥写入~/.ssh/authorized_keys
cat id_rsa.pub >> authorized_keys
- 下载私钥到windows
sz id_rsa
- 使用xshell私钥免密登录
打开xshell,点击文件–>新建,设置主机名和IP地址
- 登录方式选择Public Key
注意:登录用户名需和生成密钥使用的用户一致
- 选择刚才下载的私钥,登录即可
二、使用Xshell生成密钥
- 状态栏点击工具—>新建用户密钥生成向导
- 密钥类型:RSA 密钥长度:2048
- 生成后点击下一步即可
- 密钥名称可自定义,一般默认即可
- 复制红框内的内容到~.ssh/authorized_keys
- 完成后会自动添加到xshell用户密钥列表