最近由于经常用linux,尤其是git这一方面,需要经常的push项目,而没有ssh的时候经常会需要登陆密码登陆,很麻烦。
查了一堆文章后,写了下面最适合我的这篇文章
首先我们要有我们的ssh命令,在windows里面生成ssh的rsa密钥,具体命令如下:
ssh-keygon -t rsa -c ""
# 引号里面是邮箱,外国人有毛病,什么玩意都要弄个邮箱,我就直接为null了
生成的ssh文件在 /c/Users/用户名/.ssh/里面,其中带.pub的为公钥,不带的为私钥
之后我们要在我们的服务器上,创建一个想要本地服务器登陆的账号:
usradd git #由于我这里是为了用Git,所以直接创建的git
passwd git #root用户创建密码
创建成功之后打开我们的Windows里面的git工具,然后输入下面的命令,将本地的公钥上传到服务器上面
ssh-copy-id git@192.168.3.99
# 用户名@ip地址
输入密码后,成功
这个命令的原理是 将 /c/Users/用户名/.ssh/id_rsa.pub 里面的内容复制到 远程服务器git用户的 /home/git/.ssh/authorized_keys文件里面最后一行中,如果不想用命令直接手动操作也可以。
测试ssh连接命令
ssh -v git@192.168.3.99
上面图片可以看出我们正在密钥校验,成功之后可直接登入服务器。