投稿先 freshventure.wordpress.com - 68 d 6 h
首先, 有2种不同的路径.可以用Ubuntu服务器上的OpenSSH生成一对Public和Private的Key, 也可以用Windows上的Putty生成. 本质也没什么区别,都是服务器上放Public Key, 客户端放Private的key. 下面假设是直接利用Putty生成的方式:
将其生成的Public上传的服务器上, 放在用户主目录下 /home/xxx/.ssh 下, 然后需要进行一下格式转换
ssh-keygen -i -f keyfile.pub > newkeyfile.pub
cat newkeyfile.pub >> authorized_keys
这里有个小技巧,如果需要Sudo才能执行的话,要用 echo “ssh-keygen -i -f keyfile.pub > newkeyfile.pub” | sudo sh的方式执行,否则会出现-bash: newkeyfile.pub: permission denied 的错误,因为>, >>都是named pipe,需要有相应的权限才能操作。
用cat主要是为了添加在文件末尾,因为authorized_keys能够包含多个Public的Key,如果是第一个,也可以直接用mv生成authorized_keys
chmod 700 .ssh
chmod 600 authorized_keys
如果要在linux或者mac上使用putty生成的key, 需要putgen自己转成openssh的格式,然后可以用ssh -i privatekey.ssh 登录