wi7下面配置 git bash使用ssh公钥/私钥登陆centos

最近在win7下面研究ssh公钥/私钥登陆 centos,至于 ssh这货是什么东西 ,不懂的建议百度一下 。最好能理解ssh公钥私钥的登陆流程 。开始,在win7下面生成密钥 ,配置config ,上传到centos服务器 ,编辑 sshd配置文件 ,这些步骤都做了 ,但是一测试  ,还是连接失败 ,不是权限拒绝 ,就是还是要输入密码 。妈的,要输入密码,我还配个什么劲啊!最后终于搞定 ,是权限的问题 。以下是详细步骤 。


1 。首先用密码登陆centos ,编辑 etc/ssh/sshd_config 

去掉以下几行的注释 

RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile      .ssh/authorized_keys
AuthorizedKeysCommand none
AuthorizedKeysCommandRunAs nobody

这个意思是开启公钥认证登陆 。

然后service   sshd   restart ,重启ssh  。

然后添加个用户git ,设置密码 ,我们用用户git测试共钥登陆 。不建议用root测试,以防万一 。



2.生成公钥和私钥

在git bash 里面运行以下命令 

ssh-keygen -t  rsa  -f  ~/.ssh/admin   

win7会在C:\Users\Administrator\.ssh生成两个文件 admin.pub 和admin两个文件 。admin是私钥文件 ,admin.pub是公钥文件 。

然后建立一个config文件 ,指明登陆某台服务器用哪个私钥文件 。

比如我写入了以下内容:

host  192.168.1.101

user git

hostname  192.168.1.101

port 22

identityfile  C:/Users/Administrator/.ssh/admin


指定连接192.168.1.101的服务器时使用admin私钥进行验证 。


3.上传公钥到服务器,我这里的的服务器是局域网内的192.168.1 .101  。

在git  bash里面执行以下命令 :

scp ~/.ssh/admin.pub        git@192.168.1.101  : ~/



4.将公钥写入服务器验证文件

以root登陆服务器 ,再切换到git用户 。

在git用户的家目录下面建立 .ssh/authorized_keys文件 。目录和文件都要新建 。

然后执行cat admin.pub >>  ~/.ssh/authorized_keys

写入公钥验证文件 。

这个文件就是服务器和客户端验证公钥是否相同的文件 。



5  。公钥和私钥文件权限设置 。这一步很重要 。否则会验证失败

SSH对公钥、私钥的权限和所有权的要求是非常严格的,总结如下:

1、下面两个目录的所有权必须是user,所属组也应该是user,权限必须为700

\home\user

\home\user\.ssh

2、下面公钥文件的所有权必须是user,所属组也应该是user,权限必须为644

\home\user\.ssh\authorized_keys

3、下面私钥文件的所有权必须是user,所属组也应该是user,权限必须是600

\home\user\.ssh\id_rsa


在centos上面通过 chown命令更改文件所有权和所属用户组 ,通过chmod命令更改权限  。

但是第三步的私钥文件的权限在win7下面好像无法设置 。即使在git  bash里面用了chmod   600   来改变私钥文件的权限还是没有用处,用 ls -l   ~/..ssh来查看 ,还是其他用户用读的权限  。。。

我自己使用的是直接将C:\Users\Administrator\.ssh目录设为只用当前管理员才有权限  。其他的目录也变成了只用管理员才可读的文件 ,其他用户没有读取的权限 。这样也实现了 600  。



7  。ssh公钥验证登陆  。

输入ssh    git@192.168.1.101,如果现实以下信息 ,表明密钥登陆成功 。

$ ssh   git@192.168.1.101
Last login: Sun Jul  6 22:04:32 2014 from 192.168.1.100
[git@localhost ~]$


如果提示输入git用户的密码  ,就表明以上配置用错误 ,ssh密钥登陆失败 。请回去检查以上配置是否有错误 。并查找错误原因 。




阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/wql19881207/article/details/37387879
文章标签: centos bash ssh git win7
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭