原始的登录方式
上一期结尾已经介绍了使用私钥进行登录, 但是需要输入的东西着实有点多, 而且每次其实
是一样的.
1
| ~ ❤ ssh root@1.2.3.4 -i ~/.ssh/id_rsa_test
|
添加~/.ssh/config
文件
1 2 3 4 5 6 7 8 9
| ~ ❤ cat ~/.ssh/config #ForwardAgent yes #ForwardX11 yes
Host ali # 命令名称 User root HostName 1.2.3.4 Port 22 IdentityFile ~/.ssh/id_rsa_test
|
本地通过构建这个文件, 你可以将一长串的ssh命令转换为一条语句:
本期只介绍基本的使用, 如果想要更深一步, 请查看文档.
附: 一些常用的配置
下面几个是一些仓库的配置文件, 你可以拷贝过去使用, 但是请记得将秘钥文件地址更换
为自己的地址.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| ## gist.github.com 配置 Host gist.github.com User git HostName gist.github.com IdentityFile ~/.ssh/id_rsa_test
## Github配置 Host github.com User git HostName github.com IdentityFile ~/.ssh/id_rsa_test
## Gitlab配置 Host gitlab.com User git HostName gitlab.com IdentityFile ~/.ssh/id_rsa_test
## bitbucket配置 Host bitbucket.org User git HostName bitbucket.org IdentityFile ~/.ssh/id_rsa_test
|
以Github为例, 通常我这样进行测试:
1 2
| ~ ❤ ssh -T git@github.com Hi corvofeng! You've successfully authenticated, but GitHub does not provide shell access.
|
希望看到配置文件的读取详情, 请使用-vvv
参数, 基本就可以定位到问题.
附: ssh连接时每次都询问密码怎么办
1 2
| ~ ❤ ssh ali Enter passphrase for key '/home/corvo/.ssh/id_rsa_x1c':
|
这种情况我一般在服务器中连接机器遇到的多一点, 也就是没有图形化界面时
推荐的做法是, 在配置为文件(~/.ssh/config)中增加这么一句话:
1 2 3 4 5 6 7 8 9
| # 由ssh自动启动agent AddKeysToAgent yes
## bitbucket配置 Host bitbucket.org User git HostName bitbucket.org IdentityFile ~/.ssh/id_rsa_test # ...
|
参考了https://stackoverflow.com/a/40333362