用Cygwin或者GitBash所带的ssh-keygen和scp等命令,可以正常生成key,但是会有权限问题。

经测试总是出现私钥644错误,建议私钥600,.ssh目录700。网上各种用chown修改文件属主,

chmod修改文件权限,可以执行成功,但都没有效果,比如chmod600后,再查看文件属性,仍

然为-rw-r---r--,还是644。总有其它用户可读。不知道如果windows7只有一个用户且Administrator

的情况下是什么样子。当前用户是Administrators组里面的用户,系统中还有一个Administrator,

总之应该是windows不明不白的用户权限管理造成的吧。经爬文,考虑puttygen pscp方案。

通过 pscp实现Windows无密码传文件至Linux

所需工具pscp puttygen

一、生成 key

首先运行puttygen,打开生成key的界面

默认选择ssh2、rsa


点击Generate后,鼠标在进度条下方的空白区域,随机点击或拖动或拖动画圆,生成随机key


完成后,保存public key自己命名后缀为pub以示区别。private key 会自动加后缀ppk以示区别。

二、修改public key为openssh需要的格式

使用cygwin中的vi。这里使用git bash中带的vi。记事本是不行的。sublime2等其它工具未测试过。

将key中的前两行和最后一行删除

---- BEGIN SSH2 PUBLIC KEY ----
Comment: "rsa-key-20140320"
---- END SSH2 PUBLIC KEY ----
删除后,在开始位置前加  ssh-rsa(空格)  

ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAQEAvS2ic5Ys+EKmr+OtrJJOZTIT9Q9G/8lQInXZ

随后Esc进入命令模式,光标定位到行尾,使用 Shift+J 将两行合并成一行,并删除两行之间的空格。依次操作,将多行并成一行并删除中间的空格。

修改后,类似于


三、将public key拷贝到目标机器,可以用pscp然后输入密码拷贝

pscp pg_rsa_openssh_format.pub usrtologin@destin_ip:/path/to/userfolder

在目标机,将拷贝过来的public key追加到所要登录的用户的.ssh下的authorized_keys

这里测试.ssh 为700权限,authorized_keys为600权限

四、 无密码拷贝文件

pscp -i pg_rsa.ppk files-need-to-copy-on-source-pc usrtologin@destin_ip:/path/to/folder

五、在Source Tree中使用

Source Tree可以说是git的图形界面,可以方便地管理源码,提供两种认证方式访问git服务器openssh和putty对于Source Tree1.4.1.0,在工具选项里选择SSH客户端为Putty/Plink后,在工具里就会有创建或导入SSH密钥,可以打开其自带的打开puttygen。



注意:在Source Tree中使用Putty方式,git链接要使用http协议开头的链接而不要使用git开头的链接。如 http://githup.com/name/project.git

参考:

http://www.walkernews.net/2009/03/22/how-to-fix-server-refused-our-key-error-that-caused-by-putty-generated-rsa-public-key/

http://www.se.cuhk.edu.hk/~hmleung/wordpress/?p=1295

http://stackoverflow.com/questions/2224066/how-to-convert-ssh-keypairs-generated-using-puttygenwindows-into-key-pairs-use

http://www.wellsi.com/sme/ssh/ssh.html

http://linux-sxs.org/networking/openssh.putty.html

GitHub 加速计划 / li / linux-dash
10.39 K
1.2 K
下载
A beautiful web dashboard for Linux
最近提交(Master分支:2 个月前 )
186a802e added ecosystem file for PM2 4 年前
5def40a3 Add host customization support for the NodeJS version 4 年前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐