174-小服务器,快记住我的密码吧
刘小泽写于2020.3.4 这一篇也是经过搜索、实践后验证的
起因
之前每次都手动输入密码,也没感觉出来啥,但后来慢慢变懒了,于是想着如何才能省去每次省去输入密码的那一步。就像花花说的,懒惰是进步的动力
还记得很久以前的智能手机,解锁一般都是炫酷的图案解锁,但当别人看着你的时候,自己的手总是不自觉地隐藏某个动作。后来有了指纹,安全性也提高了许多。
服务器也是如此,当别人看着你登录的时候,是不是有种感觉,不好意思让别人走开,但又不想泄露自己的密码?于是,最后锻炼出了手速,1-2s内完成密码输入,那几个键总是磨损比较严重。。。
那么如何让服务器记住我们的密码呢?
Windows用户一般经过三步,但Mac用户比较特殊,还需要加第四步。 继续往下看吧,先看共有的三步
第一步:检查两把钥匙
# 首先去.ssh目录下查看
ls ~/.ssh
# 公开的钥匙是以.pub结尾的,私有的钥匙没有.pub
第二步:生成钥匙【可选】
如果之前没有,可以自己生成一个
# 输入
ssh-keygen
# 然后是交互命令
# 输入你想要的名称(默认名称是id_rsa)
# 然后提示输入passphrase,这个是钥匙密码,可以设置也可以不设置
ls
# 结果就能看到两把钥匙了
第三步:把公共钥匙传到服务器
# 命令是:
ssh-copy-id -i [公共钥匙] user@ip
- [公共钥匙]:就是
~/.ssh/id_rsa.pub
这个文件 user@ip
就是你的服务器用户名和IP
例如:
ssh-copy-id -i ~/.ssh/id_rsa.pub douodu@122.51.158.112
然后输入yes,之后提示输入服务器密码,最后成功界面如下:
Windows用户只需要用常规方法登录服务器,就不需要输入密码了
第四步:mac用户可能登录不成功
增加一步:添加私有钥匙
# 就是.ssh目录下那个没有.pub的钥匙文件
ssh-add -K ~/.ssh/id_rsa
如果之前生成过钥匙,或者新生成钥匙没设密码,那么直接就能登录上;
如果新生成的钥匙设置了密码,还可能在登录的第一次,需要输入passphrase设置的密码
再简单一点
虽然这样不需要输入密码,但每次ssh user@IP
也是一长串,这个可以自己将它用alias
放在配置文件中(比如mac的.bash_profile
/ .zshrc
等等)
alias douhua="ssh doudou@122.51.158.112"
这样以后,直接douhua
就能登录啦【看,完全没有写ssh一长串以及输入密码这繁琐的操作】