前言
密码每次都要记那么长一串,好累的啊,我一直在想,有没有什么办法可以不用输入密码就能进去?
最好就是一回车,或者双击打开浏览器那样简单就能登录进去就舒服了!
设置秘钥登录
首先,先用常规的密码登录进入服务器
进去之后,找到你的.ssh
文件夹,就在你的家目录下面
注意!一定要确定你想登录的账号和这个目录要一致
拿着张三家的钥匙可进不了李四家,李四的老婆可会拿扫把把你赶出来。
# 进入当前登录账号的家目录下的.ssh目录
cd ~/.ssh/
# 查看当前路径(不用敲,我只是演示)
pwd
# 查看当前路径下所有文件详细信息(不用敲,我只是演示)
ll
设置authorized_keys
文件
然后你能看到你这个目录下,有个authorized_keys
文件,没有后缀
如果没有这个目录或者没有这个文件,就自己新建,注意路径别弄错
用vim
命令打开它(没有文件的话,直接vim
最后保存也可)
然后你可以看到这个文件里啥都没有(如果有,那就得问问服务器的主人放行了哪些奇怪的人进来了)
左下角的样子,代表是刚进来,没有进入乱七八糟的模式
然后点击你的键盘上的i
键,进入编辑模式,如果按错了,可以点Esc
退出其他模式(就是你键盘左上角的那个)
看到变成了INSERT
,就代表进入了编辑模式了
拿到成员公钥内容
这个时候,把你的公钥粘贴进去(什么?哪有公钥?自己去……)
你如果从来没有生成过,可以用命令ssh-keygen -t rsa -C "你的邮箱地址"
生成(一路回车),具体细节,我比较推荐廖雪峰老师的教程,传送门:
当然,也可以看我另一篇博客里的内容:
windows电脑的ssh秘钥和公钥生成)
然后在你本地的~/.ssh/id_rsa
就是私钥了
另一个~/.ssh/id_rsa.pub
就是公钥了
如果你看不懂什么是~/
,这个代表家目录,在windows系统下一般路径是这样的C:\Users\Administrator\.ssh
什么?没有 Administrator
用户?毁灭吧!
把这个单词替换成你的登录账号名就行。
粘贴进去之后,点击Esc
退出编辑模式,之后输入:wq
(别漏了冒号)
然后回车就行(代表保存并退出)
然后你就会看到你出来了,并不在文件里了
直接右上角叉掉就行(我比较推荐打两次exit命令退出,比较炫酷)
设置目录权限
注意,需要把这个~/.ssh/
目录的权限设置为所属用户专有
比如,你要登录的用户是test
,就最好把/home/test/.ssh
目录的所属者设置为test
用户自己,所属权限设置为700
命令如下:
# 设置用户所属者
sudo chown -R 用户名.用户组 /home/用户名/.ssh
# 设置用户权限
sudo chmod -R 700 /home/用户名/.ssh
使用秘钥登录
然后新开个窗口试下用秘钥进行登录,输入命令:(如果你只有一个秘钥,且存放位置属于默认位置,那可以不用这么复杂,直接输入ssh 账号名@服务器地址
也可以)
ssh -i 秘钥文件 账号名@服务器地址
我这里输入的就是
ssh -i ~/.ssh/id_rsa ecs-user@47.107.105.110
然后回车
哈哈哈,很棒,不用输入密码了
把这行命令放到个.bat
文件里,就会发现,双击登录服务器,一样爽!
瑞思拜~
下班!