每次登录服务器都要输入密码,重复无用的操做让人心生厌烦。“懒人是推进社会进步的动力”,个人宗旨就是能自动的就不要手动。 下面就像你们介绍我是如何打造无密码登陆服务器:css
相信使用过git的朋友对这一部分应该不会陌生,git的公私钥配置也是这样在本地生成的,这里就不赘述了。html
vim ~/.ssh/config
增长:
#Tencent Server
Host ts
HostName 111.231.199.76
User root
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa_tencent_server
1. Host ts #别名,域名缩写
2. HostName 111.231.199.76 #完整的域名或ip地址
3. User root #登陆该域名使用的帐号名
4. PreferredAuthentications publickey #有些状况或许须要加入此句,优先验证类型ssh
5. IdentityFile ~/.ssh/id_rsa_tencent_server #本地私钥文件的路径
复制代码
详细配置见下图:linux
个人电脑里面配置了公司的gitlab和github,再加上服务器的就有三组配置了。git
scp ~/.ssh/id_rsa_tencent_server.pub ts:~/.ssh/
复制代码
mv id_rsa.pub authorized_keys
复制代码
若是服务器有authorized_keys这个文件就直接覆盖。github
如今为本地mac的私钥设置权限:
chmod 700 ~/.ssh
chmod 600 ~/.ssh/id_rsa_tencent_server
设置服务器上的文件权限:
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
复制代码
vi /etc/ssh/sshd_config
# 将PasswordAuthentication设置成no,
# 而后重启service sshd restart
若是你须要用密码登陆,这一步也能够不设置(ssh root@111.231.199.76)
复制代码
ssh ts
复制代码
下面的动图演示两种登陆服务器的方法:shell
第一种方式须要每次手动输入密码,一旦输入错误就得从新输入,很是不方便。然而第二种方式无需每次输入密码,减小误输入的问题。经过对比不难发现第二种方式方便快捷,一劳永逸,很是推荐你们动手操做配置。vim
欢迎你们关注😁 bash