Ubuntu18.04解决github提交代码Support for password authentication was removed 问题

  • 原因是:push以用户名+密码的方式不被支持
  • 1、Ubuntu安装ssh-agent和启动
  • 2、生成新的 SSH 密钥并添加到 ssh-agent
  • 3、将新的 SSH 密钥添加到 GitHub 帐户
  • 4、测试连接SSH
  • 5、切换本地project的协议

原因是:push以用户名+密码的方式不被支持

自2021年8月13日以后,以用户名+密码的方式将不被支持。现在可以支持的方式有: OAuth、SSH Key或者GitHub App installation token) 。最便捷的方式就是采用ssh Key的方式了。1

1、Ubuntu安装ssh-agent和启动

由于openssh依赖于openssl库,所以在安装openssh前要先安装openssl库
Ubuntu默认安装了ssh client端但没有安装Server端,所以首先安装ssh-server服务。命令如下:

sudo apt-get update
sudo apt-get install openssh-server
sudo service ssh start

server启动后如果出现root连接时显示如下,表明ssh服务器拒绝了密码,可参考博文解决。

Permission denied, please try again.

2、生成新的 SSH 密钥并添加到 ssh-agent

以下步骤一定要参考GitHub帮助文档 GitHub Doc。

  1. 打开 TerminalTerminalGit Bash。

  2. 粘贴下面的文本,替换为您的 GitHub 电子邮件地址。一路回车。

$ ssh-keygen -t rsa -C "your_email@example.com"

  1. 进入路径查看密匙
    在用户主目录里找到.ssh目录,里面有id_rsa和id_rsa.pub两个文件,这两个就是SSH Key的秘钥对。id_rsa是私钥,不能泄露出去。id_rsa.pub是公钥,可以放心地告诉任何人。
$ cd ~/.ssh && ls
id_rsa  id_rsa.pub
  1. 后台开启ssh-agent
$ eval "$(ssh-agent -s)"
> Agent pid 59566
  1. 将SSH 私钥添加到 ssh-agent
$ ssh-add ~/.ssh/id_rsa

3、将新的 SSH 密钥添加到 GitHub 帐户

以下步骤一定要参考GitHub帮助文档 GitHub Doc。

  1. 执行 gedit id_rsa.pub 打开公钥,复制其内容
  2. 登录github注册或登录账号,点击页面的右上角登录头像,打开“settings”的“SSH Keys”页面

  1. 在用户设置侧栏中,单击 SSH 和 GPG 密钥。

  1. 点“New SSH Key”,填上任意Title,在Key文本框里粘贴id_rsa.pub文件的内容,点“Add Key”,你就应该看到已经添加的Key。如果要确认密码,输入登录密码即可。



4、测试连接SSH

以下步骤一定要参考GitHub帮助文档 GitHub Doc。


输入

$ ssh -T git@github.com

测试一下通不通,通了显示如下:

Hi Hello! You've successfully authenticated, but GitHub does not provide shell access.

即可正常使用。
如果不行,就操作以下两步:

ssh-agent -s
ssh-add ~/.ssh/id_rsa

如果出现git@github.com: Permission denied (publickey). ,参考此链接处理。

5、切换本地project的协议

可以采用命令行进行切换到SSH模式1

# 在本地的一个项目中打开git-shell,查看版本信息
$ git remote -v
origin  https://github.com/haibo-duan/geektime-study.git (fetch)
origin  https://github.com/haibo-duan/geektime-study.git (push)
#切换
$ git remote set-url origin git@github.com:haibo-duan/geektime-study.git
#再次查看
$ git remote -v
origin  git@github.com:haibo-duan/geektime-study.git (fetch)
origin  git@github.com:haibo-duan/geektime-study.git (push)

最后试一试git push。如果有提示,输入yes。看看是不是成功了。^ - ^


  1. GitHub Desktop解决github提交代码Support for password authentication was removed 问题 ↩︎ ↩︎

Ubuntu18.04解决github提交代码Support for password authentication was removed 问题相关推荐

  1. 解决github提交代码Support for password authentication was removed 问题

    一大早发现周末的代码commit之后没有push.按照之前的常规操作,采用用户名+密码的方式,通过https的方式push代码.结果出现如下错误: remote: Support for passwo ...

  2. 解决GitHub报错: Support for password authentication was removed on August 13, 2021

    我的新书<Android App开发入门与实战>已于2020年8月由人民邮电出版社出版,欢迎购买.点击进入详情 文章目录 如果你最近在使用git命令,你会发现输入github的账号密码会报 ...

  3. Github报错: Support for password authentication was removed on August 13, 2021 问题解决

    Github报错: Support for password authentication was removed on August 13, 2021 问题解决 文章目录 Github报错: Sup ...

  4. Support for password authentication was removed on August 13, 2021.解决办法大全

    https://github.com/qssq/CustomTVDesktopLauncher.git 替换成 https://你的token@github.com/qssq/CustomTVDesk ...

  5. 解决git push提示“remote: Support for password authentication was removed on August 13, 2021.“

    场景: # git push Username for 'https://github.com': bboyhan Password for 'https://bboyhan@github.com': ...

  6. github开发人员在七夕搞事情:remote: Support for password authentication was removed on August 13, 2021.

    一. 问题描述 如果你在七夕(没错就是2021年8月14日)的这一天刚好加班,又刚好去访问了全球最大的同性交友网站,又刚好去更新提交代码,又或你创建了一个新的仓库送给自己,又刚好想把这个仓库送给(pu ...

  7. 关于Support for password authentication was removed on August 13, 2021报错的解决方案

    好久没有往Github提交代码了,今天偶然提交代码的时候给报了一个remote: Support for password authentication was removed on August 1 ...

  8. gitpush出现remote: Support for password authentication was removed on August 13, 2021.

    git push 报错: Username for 'https://github.com': xxx Password for 'https://jianfee@github.com': remot ...

  9. github上传代码报错remote: Support for password authentication was removed on August 13, 2021. Please use a

    文章目录 项目场景: 问题描述和原因分析: token方式登录: 生成自己的token 在个人设置页面,找到Setting 左侧边栏 选择开发者设置 Developer setting 选择个人访问令 ...

最新文章

  1. Oracle的使用和Oracle安装过程
  2. 【响应式Web前端设计】:link、:hover、:active和:visited的区别
  3. python代码阅读技巧_30个Python程序员需要知道的编程技巧,可以让你的工作事半功倍!...
  4. layui弹出层使用(layer.alert / layer.open / layer.prompt )
  5. String类的一些常见的获取方法(5)
  6. PHP独特学习模式_php基础知识
  7. epoll nio区别_高性能网络服务器编程:为什么linux下epoll是最好,Netty要比NIO.2好?...
  8. android伸缩动画自定义,Android干货:自定义带动画的View
  9. droid sans字体_2019年免费可商用字体大全(附打包下载)
  10. 中国电力电子行业前景方向预测及投资规划建议报告2022-2028年版
  11. Sobel边缘检测算子OpenCV实现
  12. 如何在cad中模块计算机,AutoCAD如何创建块 CAD模块创建方式一览
  13. 免费天气预报接口返回15天的天气JSON格式
  14. 心理传染与恐怖的“模仿者效应”
  15. 模拟实现图片长按保存功能
  16. 怎么使excel表只显示一部分分页内容
  17. 哥德尔不完全性定理:现代数学的边界
  18. 报错已加载插件:fastestmirror, langpacksLoading mirror speeds from cached hostfileThere are no enabled repos
  19. FFplay退出分析
  20. uniapp 做的一个房贷计算器

热门文章

  1. 二分搜索树--二叉树
  2. y空间兑换代码_动态空间面板模型教程(一文读懂动态面板空间spregdpd操作应用)...
  3. 软件测试安全性翻译成英语,软件测试中文英语翻译术语一览1
  4. Mysql数据库基础大全
  5. can转光纤 can光端机 总线式CAN光纤转换器用于消防主机长距离互联
  6. FC 交换机端口类型
  7. 大恒相机:可访问状态未知
  8. Twitter开发者账号申请被拒【推特开发者文档系列6】——Twitter IDs(snowflake)
  9. OpenCV----MonoDepthv2单目深度估计ONNX推理
  10. freeline加速编译