ubuntu使用ssh配置实现免密登录

前言

自从用linux系统作为主开发系统,远程登录服务器一直用的ssh手动输入,奈何经常登录输入很多很烦(程序员怎么能忍受做这么多重复事情),查阅资料总结了一套可以用ssh自带的配置完成自动免密登录远程服务器。

假设服务器账号

服务器备注名:aliasname

登录user:username

远程服务器ip:ip

默认端口号和协议:22、ssh

公钥私钥文件名:secret

私钥文件密码:secretpwd

(登录密码不需要)

1.配置alias

  1. 编辑~/.ssh/config文件,如果没有请创建 vi ~/.ssh/config

  2. 添加如下格式

    host aliasname
       user username
       hostname ip
       port 22
       #IdentityFile ~/.ssh/secret  可以先不配置,这个一会会配置
  3. 配置完之后你已经可以使用ssh aliasname登录了

    但是这样你每次还是需要输入密码,麻烦,接下来配置免密登录

2.配置秘钥对

  1. 进入ssh配置目录cd ~/.ssh/config

  2. ssh-keygen -f secret 生成公钥和私钥 。输入密码secretpwd (自定义的)

  3. 公钥上传到远端服务器。ssh-copy-id -i secret.pub username@ip 输入密码

3.添加秘钥对到代理

要把私钥配置给代理,并且配置私钥路径给config

  1. 添加代理,使用一下代码

    eval "$(ssh-agent -s)"
    ssh-add  ~/.ssh/secret`

    这里需要输入私钥文件密码,密码是刚才你自定义的,如secretpwd

    1. 配置config文件

    在你刚才配置的文件下方加上一行IdentityFile ~/.ssh/secret

    可以先不配置,这个一会会配置host aliasname
        user username
        hostname ip
        port 22
        #IdentityFile ~/.ssh/secret  

4.免密登录尝试

ssh aliasname登录成功

总结

  1. 配置config文件可以轻松记录ssh账户名、ip
  2. 使用公私钥对来完成自动登录
点赞

发表评论

电子邮件地址不会被公开。必填项已用 * 标注