ssh免密登录 以及Permission denied问题解决

两台虚拟机:ip:192.168.60.2,192.168.60.3
系统:centos7
前提(关闭防火墙或在防火墙中打开端口22)

准备
1、首先安装查看是否安装有ssh

rpm -qa | grep ssh

在这里插入图片描述
看到上图所示 ,表示已经安装(未安装 )

yum install -y openssl openssh-server

2、安装成功,启动ssh

 systemctl start sshd.service

3、设置ssh开机自启动:

systemctl enable sshd.service

快速实现免密:
前提:两台机器用户名相同
1、生成密钥对

ssh-keygen  -t  rsa

出现 Enter file in which to save the key (/root/.ssh/id_rsa): 后,直接enter
出现Enter passphrase (empty for no passphrase): 继续enter
在这里插入图片描述
出现上图页面,生成秘钥成功
2、使用ssh-copy-id

ssh-copy-id  -i .ssh/id_rsa.pub   目标机器
或者  ssh-copy-id  目标机器

手动实现免密登录
1、首先在本机当前用户目录下生成密钥对

ssh-keygen -t rsa

2、此时在当前用户目录下回生成.ssh文件夹 查看

 ll -a     #查看全部文件  .ssh为隐藏文件

在这里插入图片描述
3、进入.ssh目录 cd .ssh 此时可以看到两个文件 公钥和私钥
在这里插入图片描述
4、创建文件authorized_keys并修改权限(注:文件权限必须是600,否则无效)

touch authorized_keys
chmod 600 authorized_keys

5、将自己的公钥放进authorized_keys实现自登陆免密

cat id_rsa.pub >> authorized_keys

6、复制本地公钥到另一台机器的用户目录下

scp id_rsa.pub  192.168.60.3:/home/centos01/

此时需要输入密码
7、成功之后,登录192.168.60.3,将该公钥加入本机器的authorized_keys(默认本机器已完成上述步骤)

cat id_rsa.pub >> .ssh/authorized_keys

至此,192.168.60.2–>192.168.60.3免密登录完成

途中可能遇到问题:

Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password)

这是因为两台机器的用户名不同,普通用户的时候文件权限有问题
我的解决方式是将两台机器改成相同用户名
root用户登录

vi /etc/passwd 找到原先的用户名,将其改为自己的用户名,但是/home/“原先用户名” 中的不能更改,若更改重启后,便登陆不了系统了。
vi /etc/shadow 找到原先用户名,改为自己的用户名

以上步骤完毕后,sudo reboot重启
如有其他方式成功解决该问题,请告知,感谢!

  • 10
    点赞
  • 40
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值