0%

SSH-Config

SSH配置

SSH链接服务器

SSH链接服务器等,本可以直接用ssh name@ip -p 端口号,然后根据提示输入密码,但是有两个缺点 1. 繁琐,每次联结搜需要输入好长的字符 2. 安全性不如SSH

生成密钥

1
ssh-keygen -t rsa -b 4096 -C "yaoguang.hlf"

全部按Enter,最后会在~/.ssh/下生成id_rsaid_rsa.pub分别为密钥和公钥

远程服务器连写公钥

1
2
3
4
mkdir .ssh  //创建文件夹
touch .ssh/authorized_keys // 创建文件
chmod 700 .ssh //设置权限
chmod 644 .ssh/auauthorized_keys //设置权限

然后把公钥复制到authorized_keys文件内

使用SSH联结远程服务器

1
ssh name@ip -p 端口号 -i 密钥路径

可以将该服务器存在配置文件内,这样就不要输入上述那么长的命令了

1
2
3
4
5
6
vim ~/.ssh/config
# 输入如下内容
Host 209
Hostname 11.239.155.209
User yaoguang.hlf
IdentityFile ~/.ssh/id_rsa

SSH链接GitLab

  • 配置本地git

    1
    2
    git config --global user.name "遥光"
    git config --global user.email "yaoguang.hlf@alibaba-inc.com"

  • 直接使用上面生成的密钥和公钥,把公钥添加到gitlab网站

  • 验证是否成功

    1
    ssh -T git@gitlab.alibaba-inc.com
    # 成功会提示 Welcome to GIT, 遥光!
    1
    2
    3
    4
    5
    6
    7
    8
    * 创建新的仓库
    ```sh
    git clone git@gitlab.alibaba-inc.com:yaoguang.hlf/ddd.git
    cd ddd
    touch README.md
    git add README.md
    git commit -m "add README"
    git push -u origin master

  • 已有代码创建仓库

    1
    2
    3
    4
    5
    6
    cd existing_folder
    git init
    git remote add origin git@gitlab.alibaba-inc.com:yaoguang.hlf/ddd.git
    git add .
    git commit
    git push -u origin master

  • 配置 编辑`~/.ssh/config 添加GitLab

    1
    2
    3
    4
    # GitLab
    Host gitlab.alibaba.com
    Preferredauthentications publickey
    IdentityFile ~/.ssh/id_rsa

  • 在每个git仓库中如下配置,可以使用密钥操作

    1
    git config core.sshCommand "ssh -o IdentitiesOnly=yes -i ~/.ssh/id_ras -F /dev/null"