ssh免密连接

服务器:

生成秘钥:

执行下面命令,默认生成位置是~/.ssh

1
2
ssh-keygen
ssh-keygen -t rsa -C "youremail@example.com"

系统会询问你文件名和秘钥密码,可以一路回车过去,会生成两个文件:

  • id_rsa 私钥
  • id_rsa.pub 公钥

连接的客户端:

修改 vim ~/.ssh/config,添加如下的信息:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
Host nb
User xxx
Port 22
HostName xxxxx
IdentityFile ~/.ssh/id_rsa
IdentitiesOnly yes

注释:
Host 别名
HostName 指定登录的主机名或IP地址
Port 指定登录的端口号
User 登录用户名
IdentityFile 登录的公钥文件
IdentitiesOnly 只接受SSH key 登录

把本地的公钥传送到服务器:

1
ssh-copy-id -i ~/.ssh/id_rsa.pub xxx@<ip>

个人用户环境配置

修改rm命令,防止手残误删除

1
vim ~/.bashrc

写入:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
mkdir -p ~/.trash   #在家目录下创建一个.trash文件夹

alias rm=del #使用别名del代替rm

del() #函数del,作用:将rm命令修改为mv命令

{
mv $@ ~/.trash/
}

clearall() #函数clearall,作用:清空回收站.trash文件夹,y或Y表示确认,n表示取消

{
read -p "clear sure?[Input 'y' or 'Y' to confirm. && Input 'n' to cancel.]" confirm
[ $confirm == 'y' ] || [ $confirm == 'Y' ] && /bin/rm -rf ~/.trash/*

}

记得souce:

1
source ~/.bashrc

git配置

1
2
$ git config --global user.name "John Doe"
$ git config --global user.email johndoe@example.com

git服务器端免密拉取

在git上添加ssh证书

1
cat ~/.ssh/id_rsa.pub

进入项目文件夹,重新remote一下

1
git remote set-url origin git@gitlab.com:xxxxxx/xxx.git

拉取远程分支,并创建本地分支:

1
git checkout -b dev(本地分支名) origin/dev(远程分支名)