Linux-免密码远程登录配置


阅读次数

当执行ssh 远程登录linux服务器的时候需要输入密码,因为ssh 基于ssl 加密协议,所以可通过配置公钥私钥,进行客户端与服务器的配置,达到免密码登录的效果

生成公钥私钥

  1. 确认客户端已经安装SSH ,执行 ssh-keygen -t rsa ,然后一路回车完成
    公钥,私钥,可以自己定义名字(建议使用不同的后缀名区分不同的公钥私钥)
  1. 进入 /root/.ssh/ 目录下可以看到新生成的 id_rsa_remote , idrsa_remote.pub

  2. 本地添加私钥

    ssh-add ~/.ssh/id_rsa_remote

    提示添加成功即可

部署公钥

把生成的 *.pub 公钥部署到 远程服务器上

  1. 确保远程服务器上SSH 服务器正常
  2. 确保远程登录用户的根目录下,有 .ssh 文件夹,如果没有新建一个
  3. 把你生成的公钥copy 到远程服务器上用户根目录.ssh 文件夹下,并更改文件名为authorized_keys
    Ps:(可以执行如下命令,如果有ssh-copy-id 也行,什么方式无所谓,只要能保证 公钥放入了正确的位置)

    cat .ssh/id_rsa.pub | ssh root@remoteserver 'cat >> .ssh/authorized_keys'
    # or
    cat .ssh/id_rsa.pub | ssh -p port remoteUser@remoteserver 'cat >> .ssh/authorized_keys'
  4. 登陆远程主机确认公钥已经放入正确路径,修改文件,文件夹权限

    chmod 700 .ssh
    chmod 640 .ssh/authorized_keys

连接远程服务器

这一系列流程操作完成后

ssh  remoteUser@remoteip
# or
ssh -p port remoteUser@remoteip

之后就可以连接成功了,如果有问题欢迎交流

">