ubuntu下SSH免密码登录设置

SSH服务器端:A
A的SSH端口:portA
A的用户名:nameA
A的IP:IPA

SSH访问端:B
B的用户名:nameB
B的IP:IPB
效果:B通过SSH访问A
1)确认ssh是否安装(通过重启来确认)
service sshd restart 或 service ssh restart
如果能够重启说明安装了ssh,如果显示ssh: unrecognized service说明没有正确安装SSH
通过 apt-get install openssh-server 来安装SSH
2)查看 /etc/init.d/ 下是否存在ssh或sshd
3)服务器端A:修改 /etc/ssh/sshd_config 配置文件
#PermitRootLogin without-password
PermitRootLogin yes
RSAAuthentication yes
PubkeyAuthentication yes
4)生成秘钥和公钥(已生成可跳过)
ssh-keygen -t rsa
一路回车可产生秘钥(id_rsa)和公钥(id_rsa.pub)
5)添加B访问权限
将B的公钥拷到A的 /root/.ssh/authorized_keys文件末端
或者通过ssh-copy-id nameB@IPB
如果SSH端口号不是22号端口则通过
ssh-copy-id "-p portA nameB@IPB"
添加之后就可以无密码登陆了
可以通过A本机测试
测试成功后再添加B的访问权限
ssh nameA@IPA -p portA
6)WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED
这个问题可能是由于访问的IP的公钥信息与known_hosts内不同导致的,删除known_hosts内的B的IP所对应的rsa的信息即可
7)如果连接端口失败可通过telnet AIP -p portA 查看端口是否打开,可通过
sudo ufw enable(启用)
sudo ufwdisable (禁用)
防火墙来测试是否因为防火墙导致端口被禁止

打开或关闭某个端口,例如:
sudo ufw allow 22/tcp #允许所有的外部IP访问本机的22/tcp (ssh)端口
sudo ufw deny 22/tcp #允许所有的外部IP访问本机的22/tcp (ssh)端口

参考文章:
http://www.linuxidc.com/Linux/2016-12/138259.htm
http://roclinux.cn/?p=2551
https://blog.51cto.com/linuxme/375752
http://blog.csdn.net/universe_hao/article/details/52296811

转载于:https://blog.51cto.com/12760189/2060835

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值