[컴] github 는 어떻게 ssh:// 를 지원할까?

git repository deploy key / private key / ssh login in git

github 는 어떻게 ssh:// 를 지원할까?

github 의 deploy key

github 에서 deploy key 를 설정할 수 있다.

이 key 를 설정하면, 관련된 private key 를 갖고 ssh:// 를 이용해서 public key 를 갖고 있는 repository 에 접근할 수 있다. 자세한 내용은 위 link 를 확인하자.

github 는 이 ssh server를 가지고 있는가?

ssh 접근을 위해 ssh server 가 필요할 것이라 생각했는데, github 가 ssh server를 가지고 있는지가 궁금했다. github 자체는 공개된 source 가 아니기에 gogs 를 통해 확인해 봤다.

/conf/app.ini 에서 START_SSH_SERVER = false 을 설정하면, gogs 가 자체적으로 갖고있는 ssh server 가 아닌 외부의 ssh server를 사용하게 된다.

START_SSH_SERVER = false

즉, gogs(github 라고 보면 될듯)는 자체적으로 ssh server 를 가지고 있으며, 이것 대신에 외부 ssh server 를 사용할 수도 있다.

package route

import (
    ...
    // https://github.com/gogs/gogs/blob/b5d47b969258f3d644ad797b29901eb607f6b94f/internal/ssh/ssh.go
    "gogs.io/gogs/internal/ssh"
    ...
)
...
func GlobalInit(customConf string) error {
    ...
    // https://github.com/gogs/gogs/blob/b5d47b969258f3d644ad797b29901eb607f6b94f/internal/route/install.go
    if conf.SSH.StartBuiltinServer {
        ssh.Listen(conf.SSH.ListenHost, conf.SSH.ListenPort, conf.SSH.ServerCiphers, conf.SSH.ServerMACs)
        log.Info("SSH server started on %s:%v", conf.SSH.ListenHost, conf.SSH.ListenPort)
        log.Trace("SSH server cipher list: %v", conf.SSH.ServerCiphers)
        log.Trace("SSH server MAC list: %v", conf.SSH.ServerMACs)
    }

댓글 없음:

댓글 쓰기