ssh更改默认端口号及实现免密码远程登陆
近来在复习防火墙管理工具 iptables 的基本使用方法,涉及到对端口添加或删除防火墙策略的内容,之前对ssh更改默认端口号及免密码登录的方法不熟悉,这次做一个基本的总结防止自己遗忘。
错误偏差及其他经验之处,还望各位多多指出!
系统环境:两台 RHEL 7
登录主机:master.domain12.example.com 192.168.0.150/24
远程主机:rhel.domain12.example.com 192.168.0.212/24
1. ssh更改默认端口号
rhel.domain12.example.com上操作:
(1)配置远程主机ssh配置文件 /etc/ssh/sshd_config,如图,更改端口号(提前确保端口50000未被占用)。
(2)重启ssh服务,设置开机自启动并查看进程状态。
将允许的网段及端口50000添加到防火墙策略中,并将其保存。
使用 service iptables save 保存,将配置写入iptables的配置文件 /etc/sysconfig/iptables 中,
否则下次开机将丢失此次的防火墙策略。
使用netstat -tunlp查看端口50000的状态。
2. ssh实现免密码远程登录
master.domain12.example.com上操作:
(1)使用 ssh-keygen 命令生成远程登录的公/私钥。公钥在登录主机及远程主机中,私钥在登录主机中,此处使用的是rsa算法生成的公/私钥。
(2)使用 rsync 命令将公钥 /root/.ssh/id_rsa.pub 同步到远程主机 rhel.domain12.example.com 的 /root/.ssh 下。
由于在远程主机中,已经清除防火墙策略,并只开放端口50000,而rsync默认使用ssh的22端口,
所以必须指定 rsync 命令使用端口50000进行公钥同步。
此处使用了 -e 选项来实现指定端口,用双引号将其圈引,其余语法格式与一般 rsync 命令使用相同。
(3)查看远程主机 /root/.ssh 目录下的公钥。将公钥重定向至 authorized_keys 文件,更改该文件的访问权限为root用户只读。
3. ssh使用指定端口及免密码登录测试
直接在 master.domain12.example.com 上进行登录测试,能够成功登录。
-p 选项指定ssh登陆的端口号。