04月06, 2018

Gogs开启SSH后无法远程登录的解决方案

Gogs是使用 Go 语言开发的一款极易搭建的自助 Git 服务,类似于GitLab,Gogs开启SSH后,通过SSH无法远程登录Gogs所在的服务器,本文总结了一下解决方案 :

1、禁止Gogs使用SSH

修改配置文件gogs/custom/conf/app.ini中内容:

DISABLE_SSH = false

改为

DISABLE_SSH = true

就可以禁用Gogs使用SSH了,这种方法,简单直接有效,缺点就是项目的仓库地址没有git@xxx:xxx/xx.git这种格式了,只有HTTP(S)格式了,如果能够接受,就可以使用这种方法

2、使用新的SSH Key

I、确定Gogs开启使用SSH: 修改配置文件gogs/custom/conf/app.ini中的DISABLE_SSH

DISABLE_SSH = false

这样设置Gogs就可以使用SSH了

II、生成新的SSH Key:

①、打开命令行工具

②、执行如下命令:

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

③、选择要保存的SSH Key的路径:

注意,这里不要选用默认的路径,会把之前生成的Key覆盖,选用新的路径:

Enter a file in which to save the key (/Users/you/.ssh/id_rsa): [Press enter]

比如说使用默认地址,但是名字使用id_gogs_rsa,路径如下:

/Users/you/.ssh/id_gogs_rsa

III、删除Gogs中原来的SSH Key:

用户设置——>SSH密钥中可以看到之前添加的SSH Key,删除

IV、将新生成的SSH Key添加到Gogs中: 复制/Users/you/.ssh/id_gogs_rsa.pub中的内容,添加到Gogs的SSH密钥中

这样一来,SSH远程登录服务器用的是原来的SSH Key,操作Gogs项目时用的是新生成的SSH Key。

以上就是本文总结的Gogs开启SSH后无法远程登录的解决方案,有任何问题可以在文章下方留言。

本文链接:https://www.shaobin.wang/post/21.html

Comments