tonglin0325的个人主页

ubuntu下git安装及使用

1.设置用户名和邮箱

1
2
3
git config --global user.name "xxxx"
git config --global user.email "xxx@xxx.edu.cn"

2.查看当前git的用户和邮箱

1
2
3
git config user.name
git config user.email

3.生成秘钥,回车3下,不设置密码

1
2
ssh-keygen -t rsa -C "xxx@xxx.edu.cn" -f ~/.ssh/id_rsa_github

4. ssh目录在etc/ssh下

~/.ssh/config配置文件如下

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#自己私人用的 GitHub 帳號,id_rsa 就是我自己原本用的 ssh key
Host github.com
User xxx
Hostname ssh.github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa_github
Port 443

#公司工作用的 GitHub 帳號,此處的 COMPANY 你可以自行取名
Host gitlab.xxx.com
Hostname gitlab.xxx.com
Port xxx
User xxx
IdentityFile ~/.ssh/id_rsa

Host xx-*
HostName %h
User xxx
Port xxx

Host xxx-*
HostName %h
User xxx
Port xxx

Host xxx-*
HostName %h
User xxx
Port xxx

5.上传.pub公钥到github

6.可以git clone了

 

如何在本地使用git

http://jingyan.baidu.com/album/295430f1c62c900c7e0050fd.html?picindex=1

 

参考:1.  ubuntu下git安装及使用

    http://www.cnblogs.com/jackge/archive/2013/08/17/3264801.html

   2.  多 SSH Key 管理技巧与 Git 多账户登录问题

    http://blog.csdn.net/forlong401/article/details/50902983

   3.  执行ssh-add时出现Could not open a connection to your authentication agent

    http://www.cnblogs.com/sheldonxu/archive/2012/09/17/2688281.html    ssh-agent bash

****   4.  转载:ubuntu下github connect错误解决****

1
2
3
ssh git@github.com
ssh: connect to host github.com port 22: Connection timed out

 解决办法:(linux下)

1
2
3
cd ~/.ssh
touch config

 在.ssh目录下创建一个config文件,输入如下内容:

1
2
3
4
5
6
7
Host github.com
User xxx@163.com (你注册github时的邮箱,这里使用注册的用户名也行)
Hostname ssh.github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa
Port 443

 测试是否连通

1
2
3
4
5
6
7
8
9
ssh -T git@github.com
The authenticity of host '[ssh.github.com]:443 ([207.97.227.248]:443)' can't be established.
RSA key fingerprint is 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48.
Are you sure you want to continue connecting (yes/no)? y
Please type 'yes' or 'no': yes
Warning: Permanently added '[ssh.github.com]:443,[207.97.227.248]:443' (RSA) to the list of known hosts.
Hi zhou411424! You've successfully authenticated, but GitHub does not provide shell access.
出现Hi xxx!......表示连接成功。

 

ssh免密码登陆设置时Authentication refused: bad ownership or modes错误解决方法

sshd为了安全,对属主的目录和文件权限有所要求。如果权限不对,则ssh的免密码登陆不生效。

1
2
3
4
5
用户目录权限为 755 或者 700,就是不能是77x。
.ssh目录权限一般为755或者700。
rsa_id.pub 及authorized_keys权限一般为644
rsa_id权限必须为600

 

centos用户重启ssh服务

1
2
systemctl restart sshd

禁止远程root用户登录,修改 /etc/ssh/sshd_config

1
2
PermitRootLogin no

修改端口,将Port改成其他的端口

参考:https://blog.csdn.net/tianlesoftware/article/details/6201898

 

生成ssh秘钥

1.生成私钥和公钥

1
2
ssh-keygen -t rsa -C "worker" -f ~/.ssh/worker

2.然后将公钥添加到authorized_keys文件中

1
2
3
touch ./.ssh/authorized_keys
cat ./worker.pub >> ./.ssh/authorized_keys

3.将私钥改名成xxx.pem,并拷贝到别的机器上,然后就可以ssh了

1
2
3
mv worker worker.pem
ssh -i ~/下载/worker.pem worker@master

配置当前用户免密登录

1.生成默认的秘钥,必须是id_rsa 和 id_rsa.pub

1
2
ssh-keygen -t rsa

2.将公钥添加到authorized_keys文件中

1
2
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

3.可以免密登录

1
2
ssh localhost