ubuntu下SSH免密码登录设置

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 [email protected]
如果SSH端口号不是22号端口则通过
ssh-copy-id "-p portA [email protected]"
添加之后就可以无密码登陆了
可以通过A本机测试
测试成功后再添加B的访问权限
ssh [email protected] -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
http://blog.51cto.com/linuxme/375752
http://blog.csdn.net/universe_hao/article/details/52296811

以上是关于ubuntu下SSH免密码登录设置的主要内容,如果未能解决你的问题,请参考以下文章

linux下ssh免密码登录设置

ssh免密码登陆及其原理

ssh免密码登陆及其原理

ubuntu ssh 免密码登录

linux下怎样设置ssh无密码登录

如何在linux中如何配置ssh免密码登录