ssh-keygen配合~/.ssh/config免密码及user@host登陆

用过终端登录远程服务器或者VPS的童鞋都用过类似的命令:ssh username@hostname.com,输入密码后就可以登录远程服务器了,但是人总是懒滴,Here,免输入密码登录远程服务器的方法:

  • 打开终端,本地生成id_rsa(私钥),id_rsa.pub(公钥):

    ssh-keygen -t rsa

    如图所示(一路按enter键):

    ssh-keygen

    公钥(id_rsa.pub)和私钥(id_rsa)默认生成在:~/.ssh/ 目录下。

  • 拷贝公钥到远程服务器上,或则其他地方whatever…

    scp ~/.ssh/id_rsa.pub username@hostname.com:~/.ssh/

    上面的username换成你的用户名,和服务器地址。然后你需要登录到你的远程服务器上操作。

  • 登录远程服务器操作

    ssh username@hostname.com

    输入密码后登录,也许是你最后一次登录服务器需要密码。

    cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys 

    大功告成,logout如果你没操作错误的话,你就可以在客户端输入 ssh username@hostname.com登录服务器了,不用输入密码。

  • 配置SSH CONFIG

    touch ~/.ssh/config

    新建一个自定义ssh config文件

    vim ~/.ssh/config

    用VIM或者其他编辑器打开config文件,配置config, 粘贴如以下格式内容,保存:

    Host vps(这里是自定义的host简称,以后连接远程服务器就可以用命令ssh vps)
      User 这里填用户名(如:root)
      HostName 这里填服务器地址也可以是域名(如:server.xxoo.com)
      Port 这里填服务器open-ssh端口(默认:22)
      IdentityFile 这里是刚刚生成的私钥文件地址(如~/.ssh/id_rsa)
    
    

    其实这个东西可以用来配置你连接不同的远程服务器,比如有两个github账户,或者两个git服务器等等。

貌似你现在可以用ssh vps登录远程服务器了。一直记不住这些东东,就先上这一笔记吧,仅供参考。

PS..ssh-keygen命令中-t代表生成文件的类型如rsa,dsa等等,然后-C参数貌似是一个注释吧,Provides a new comment. 如果用ssh-keygen -t rsa -C "注释内容,一般为邮件地址",生成的公钥后面会带上注释,暂时我也不知道拿来干嘛的。。。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值