SSH设置无密码登录服务器

我们在做开发的时候,经常需要在本地去登录我们自己的服务器,我们老大给的密码太复杂了,我每次登录都比较要去找我记录的密码,在复制粘贴过来,后来我在找了一下不需要本第登录服务器不需要密码的方法,设置了一下,就可以免密码登录了,记录下,仅做参考。

本地端-MAC版:

#进入用户的目录下
cd ~/  

#查看是否有.ssh的目录,如果有,进行下一步,没有则执行命令创建
mkdir .ssh 

#进入.ssh目录
cd .ssh 

#把分组和其他用户的读、写、执行权限去掉,确保读、写、执行权限只限当前用户
chmod go-rwx .ssh 

#创建你的私钥和公钥,最后的“”,是代表私钥不需要密码,这就是为什么可以免密码登录
ssh-keygen -b 1024 -t rsa -f id_rsa -P "" 

#进入.ssh目录就可以查看文件了
cd .ssh  
ls -la

结果如下:

本地端—windows版:

1.在用户主目录下(一般为C:\Users\your username),看看有没有.ssh目录;
2.如果有,再看看这个目录下有没有id_rsa和id_rsa.pub;
3.这两个文件,如果已经有了,可直接跳到下一步。如果没有,打开Shell(Windows下打开Git Bash),创建SSH Key:

ssh-keygen -b 1024 -t rsa -f id_rsa -P "" 

4.进入.ssh目录就可以查看文件是否生成了;

注:id_rsa 是私钥  id_rsa.pub 是公钥

服务器端:

#登录之后,进入目录
cd ~/

#查看是否有.ssh的目录,如果有,进行下一步,没有则执行命令创建
mkdir .ssh 

#在.ssh目录下创建authorized_keys文件
touch authorized_keys

#查看客户端的id_rsa.pub
cat id_rsa.pub
结果如下:

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDTN8zeJh/jjKqezPw4int3HtPAw+WJ48JLTUPiUZrqPANMpzWbqLmwoqT3bQS2/BMvx0OetsYHJKogLarMTKPF7cAMAwV+5NKpUDxuKYxjBLbWBBZdEbml1MzzWiYRT/gGyosYBd8wiDaYMME2Fo9x5xEaEEKvp8dvT8YW/VXNO5ZvvHUF5+w4IDXY+kruroOdp/KZVvZEefbqVb5y1Y1P5iB9vKq1qy1DDc1rso3KaNsxSRMgMUm5HZWFI6+AKrO+0URbeFLdeAZAm8XfQ0ZYlNoo/ksuNA77guSj5X9dlzjHl1m2e0pePkXuc5DtKJ63FyJ7Md3wUh81rO6SQ5xTE4BV5+gZYDYLnRm0aOQwEq3kow== [email protected]

#把内容复制到authorized_keys即可
vi authorized_keys

注:如果authorized_keys没有写权限,这加上:chmod u+w authorized_keys 复制保存之后,记得把权限去掉:chmod u-w authorized_keys

以上的步骤完成之后,你就可以在本地无需密码的登录服务器了,因为你的服务器已经有了你的本地电脑的公钥,只有你本地的私钥才可以解密,所以不用密码也是安全的。

你就可以这样登录了:

第一种:

ssh [email protected] 即可。
第二种:(这种方式就是给一个长一点的命令去一个别名,执行起来简单点)
#进入.bash_profile
cd ~/
vi .bash_profile

#给你要执行的文件取一个别名-serverstart
alias serverstart='ssh [email protected]'

#重新加载一下.bash_profile这个文件
source ~/.bash_profile

#执行别名就可以了
serverstart

















猜你喜欢

转载自blog.csdn.net/liaobangxiang/article/details/79900972