以Ubuntu Server为例
生成SSH
ssh-keygen -t ed25519 -C "your_email@example.com"
如果系统不支持Ed25519算法,使用旧的命令:
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
根据提示生成公私钥文件,记下位置,默认位于~/.ssh/
路径下。
添加到Github
登录GitHub,进入SSH and GPG keys
,New SSH key
添加密钥,把公钥(上述带.pub后缀的)copy进去即可。
测试
ssh -T git@github.com
出现“Hi xx! You’ve successfully authenticated, but GitHub does not provide shell access.”则代表认证成功。可以通过git clone自己账户的私有仓库来确认。
如果遇到“kex_exchange_identification: Connection closed by remote host”,则需要检查ssh-agent是否运行且密钥对是否被正确加载。操作如下: