ssh更改默认端口号及实现免密码远程登陆

Posted Alberthua-Perl

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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登陆的端口号。

 

以上是关于ssh更改默认端口号及实现免密码远程登陆的主要内容,如果未能解决你的问题,请参考以下文章

ssh远程登陆配置公私钥密码ssh体系构建

linux下已经更改了ssh默认登陆端口22,如何扫描出来更改后的端口号呢。使用NMAP扫描不到,有其他方法么?

免密码交互方式+ansible批量管理服务介绍

如何更改 MySQL 本地登录时的默认端口?

修改远程桌面连接端口及修改端口号后如何连接!

修改ssh服务器默认端口