本地客户端生成公钥,实现ssh免密登陆远程主机

1. 在ssh客户端,生成公钥和私钥

  • 在ssh客户端,查看是否已经有了ssh密钥
$ cd ~/.ssh

如果没有密钥,则不会有此文件夹;有则备份,并删除原文件夹。

  • 生成公钥,私钥
$ ssh-keygen -t rsa 

一直按3个回车。系统会默认在 ~/.ssh目录生成两个文件: id_rsa(私钥),id_rsa.pub(公钥)。

$ cd ~/.ssh

$ ll 

-rw------- 1 jack jack 1675 Jul 12 01:33 id_rsa
-rw-r--r-- 1 jack jack  410 Jul 12 01:33 id_rsa.pub

现在,设置你的私钥权限。

$ chmod 700 ~/.ssh

$ chmod 600 ~/.ssh/id_rsa 

2. 在ssh服务端

2.1 在ssh服务端,修改配置文件

# vim /etc/ssh/sshd_config 

找到以下内容,去掉注释符“#”。

RSAAuthentication yes 
PubkeyAuthentication yes 
AuthorizedKeysFile .ssh/authorized_keys 

注:如果多用户免密登录远程主机,需要设置PasswordAuthentication no;如果只有一个人能登录的远程主机,出现问题,就只能重装系统,因此就不建议设置PasswordAuthentication no

重启sshd服务

# service sshd restart 

2.2 在ssh服务端,导入公钥到服务器端认证文件,更改权限

  • 复制私钥到远程主机。
$ ssh-copy-id user@host

或者手动把公钥复制到远程主机,添加到authorized_keys

$ cat id_rsa.pub >> ~/.ssh/authorized_keys 

添加完,就可以删除公钥id_rsa.pub。

  • 在ssh服务端,修改相关文件目录权限。
$ chmod 700 /home/jack

$ chmod 700 ~/.ssh 

$ chmod 600 ~/.ssh/authorized_keys

3. ssh客户端、服务端需要保留的文件

  • ssh客户端保留的文件
id_rsa,私钥,必要

id_rsa.pub,公钥,必要,留待以后添加到其他远程主机

known_hosts,记录本机ssh免密登陆的远程主机列表,可选
  • ssh服务端保留的文件
authorized_keys,客户端主机的公钥列表

4. 测试

本地主机ssh远程服务器。

# ssh -v -p port user@远程服务器IP
  • 0
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值