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 (禁用)
防火墙来测试是否因为防火墙导致端口被禁止
来源: http://www.bubuko.com/infodetail-3125629.html