linux远程登录SSH详解

先去百度百科了解一下https://baike.baidu.com/item/ssh/10407?fr=aladdin

免密登录

1,测试有没有ssh服务,没有的话就安装openssh
2,cd ~/.ssh
3,ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
4,cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
5,本机测试ssh localhost
6,ssh-copy-id -i 目标用户@目标IP

权限保证:
1,.ssh文件夹的权限设置为700
2,.ssh文件夹里面的所有文件的如下
在这里插入图片描述
免密登陆拒绝访问,可能是因为其他用户有权限,不安全,仍需要密码登陆问题解决
如果A将公钥拷贝到B,但是A登陆B仍然需要输入密码,应当修改B主机的配置文件

(1)打开sshd_config配置文件

sudo vi /etc/ssh/sshd_config

(2)修改配置如下

#Port 22  监听的端口号,默认是22,可以自定义。
#Protocol 2  支持的协议,默认就好,不用修改
#PermitRootLogin yes 是否允许root直接登录,最好设置为no
#MMaxAuthTries 6 最大登录数,默认是6,建议设置为3,防止别人密码穷举。

#禁用root账户登录,如果是用root用户登录请开启 
PermitRootLogin yes 

# 是否让 sshd 去检查用户家目录或相关档案的权限数据, 
# 这是为了担心使用者将某些重要档案的权限设错,可能会导致一些问题所致。
 # 例如使用者的 ~.ssh/ 权限设错时,某些特殊情况下会不许用户登入 
 StrictModes no 
 
 # 是否允许用户自行使用成对的密钥系统进行登入行为,仅针对 version 2。 
 RSAAuthentication yes 
 PubkeyAuthentication yes 
 
 # 至于自制的公钥数据就放置于用户家目录下的 .ssh/authorized_keys 内 
 AuthorizedKeysFile .ssh/authorized_keys  
 
 #有了证书登录了,就禁用密码登录。 
 PasswordAuthentication no

(3)重启sshd服务

systemctl restart  sshd.service
或者service sshd restart

异常
1,如果在拷yichagn“Agent admitted failure to sign using the key”异常,执行如下命令
执行ssh-add ~/.ssh/id_rsa

2,有一点很奇怪,Fedora允许rsa算法生成的不允许dsa算法生成的密钥登录,而CentOS两者都允许
CentOS的默认配置文件
在这里插入图片描述

Fedora的默认配置文件
在这里插入图片描述
即使给他加上HostKey /etc/ssh/ssh_host_dsa_key还是不行,而CentOS注释掉了竟然可以

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值