进入本地电脑的 bash 终端
ssh-keygen -t rsa -P '' -C "your.address@"
可选参数-C
表示密钥的备注信息
-t rsa
表示生成 rsa 密钥
可选参数-P
表示密码,-P ''
两个单引号就表示空密码,也可以不用-P
参数,这样就要三次回车,用-P
就一次回车
生成密钥后,你可以看到本地的.ssh/
目录下有两个文件,一个私钥,一个公钥:id_rsa
和id_rsa.pub
暂时利用 SSH 使用云主机的密码登录远程主机
暂时使用云主机的密码连接 SSHssh root@your.remote.host.ip查看 home 目录 是否有 .ssh/ 文件夹ls -a如果没有就创建 .ssh/ 文件夹mkdir .ssh给 .ssh 文件夹赋予权限chmod 755 .ssh使用命令 `exit` 退出 SSH 连接后,利用 SCP 上传 本地 id_rsa.pub文件到服务器 home/.ssh 目录下,并重命名为 authorized_keysscp id_rsa.pub root@your.remote.host.ip:~/.ssh/authorized_keys再次使用密码连接云主机ssh root@your.remote.host.ip查看 .ssh 文件夹下是否有 刚才上传并重命名的 authorized_keys 文件cd .ssh/ls -a给 authorized_keys 文件赋予权限chmod 600 authorized_keys重新启动云主机的 SSH 服务systemctl restart sshd
如果使用 SCP 上传 id_rsa.pub 到云主机时没有重命名,而是直接上传到了.ssh/文件夹下,那么可以使用下面的命令将 .ssh 目录下的 id_rsa.pub 追加到 authorized_keys 文件中
cat id_rsa.pub >> authorized_keys
exit 退出 SSH连接
回到本地,测试免密码登录,如果提示是否保存密码则回复 yes,接下来不需要密码就可以直接登录远程主机了。
ssh root@your.remote.host.ip