Mac使用ssh公钥免密登录服务器

每次登陆服务器都要输入密码,重复无用的操作让人心生厌烦。“懒人是推动社会进步的动力”,我的宗旨就是能自动的就不要手动。 下面就像大家介绍我是如何打造无密码登录服务器:

1. 生成公钥和密钥

相信使用过git的朋友对这一部分应该不会陌生,git的公私钥配置也是这样在本地生成的,这里就不赘述了。

2. 编辑ssh配置文件

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 #本地私钥文件的路径
复制代码

详细配置见下图:

我的电脑里面配置了公司的gitlab和github,再加上服务器的就有三组配置了。

3. 放置公钥到服务器目录中

scp ~/.ssh/id_rsa_tencent_server.pub ts:~/.ssh/
复制代码

4. 服务器配置公钥

mv id_rsa.pub authorized_keys
复制代码

如果服务器有authorized_keys这个文件就直接覆盖。

5. 本地和服务器文件权限

现在为本地mac的私钥设置权限:
chmod 700 ~/.ssh
chmod 600 ~/.ssh/id_rsa_tencent_server
设置服务器上的文件权限:
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
复制代码

6. 服务器禁用密码登录(可选)

vi /etc/ssh/sshd_config 

# 将PasswordAuthentication设置成no,
# 然后重启service sshd restart
如果你需要用密码登录,这一步也可以不设置(ssh root@111.231.199.76)
复制代码

7. 登录服务器

ssh ts
复制代码

8. 动图演示

下面的动图演示两种登录服务器的方法:

  • ssh 用户@ip
  • ssh 自定义名称

第一种方式需要每次手动输入密码,一旦输入错误就得重新输入,非常不方便。然而第二种方式无需每次输入密码,减少误输入的问题。通过对比不难发现第二种方式方便快捷,一劳永逸,非常推荐大家动手操作配置。

8. 参考教程


欢迎大家关注?

转载于:https://juejin.im/post/5cee65a8f265da1b8e70823d

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值