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 를 사용할 수도 있다.
/conf/app.ini
의 사용되는 설정 값들%(X)s
의 의미:All default settings can be found in app.ini. If you see anything which looks like %(X)s, it is a feature powered by ini for reading values recursively.
gogs의 internal ssh server : https://github.com/gogs/gogs/blob/b5d47b969258f3d644ad797b29901eb607f6b94f/internal/ssh/ssh.go
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)
}
댓글 없음:
댓글 쓰기