centos7开启ssh 私钥登录实现ssh免密登录以及scp免密传输文件方案

 下面在目标服务器上进行操作:

# 生成密钥对  方法很多,xshell生成都行,生成的文件名不要改
ssh-keygen -t rsa
# 生成后查看并配置密钥对
cd ~/.ssh/
ls
# 可以看有两个文件 id_rsa 以及 id_rsa.pub两个文件,很明显前一个是私钥,后一个是公钥,cat查看公钥并复制内容
cat rsa.pub
# 创建 authorized_keys 文件,之所以起这个名字,是因为sshd配置文件中默认配置的,理论上可以改
vim ~/.ssh/authorized_keys
# 粘贴公钥内容 wq保存 并更改文件权限,说是要保证.ssh和authorized_keys都只有用户自己有写权限。否则验证无效。
chmod 600 ~/.ssh/authorized_keys 
#设置.ssh目录权限
chmod 700 -R ~/.ssh

下面去修改sshd配置文件,开启公钥登录,关闭密码登录

# 打开sshd配置文件,一行行简单看下,主要修改(打开注释或者修改值)点如下:
Port 22
PermitRootLogin yes
PubkeyAuthentication yes
PasswordAuthentication no

这时候你已经可以测试私钥可用性了

ssh localhost

下面在客户远程服务器(另一台centos)或者客户操作机(例如windows xshell)上操作,以下统一简称客户机:

# 将前面的私钥id_rsa文件复制到客户机
# 对于linux服务器复制到 ~/.ssh/  文件名字保持不变
# 完了之后进行测试
ssh user@remote_ip
# 还可以进行scp测试,如果第一次需要输入密码,就先破了这个处再次尝试
scp file user@remote_ip:/remote_path

至于在xshell中的配置:依次点击 工具--用户密钥管理者--导入,找到并选择你从服务器获得的私钥id_rsa文件,保存之后可以在你配置连接的时候选择,比如针对已有连接更改配置如下: 右键--属性--用户身份验证  把方法改为 public key,输入用户名以及对应私钥密码(如果生成时候没填则空着),并选择刚才导入的这个私钥文件,点击连接。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

专家-赤兔[在线]

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值