linux修改远程端口22

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux修改远程端口22相关的知识,希望对你有一定的参考价值。

参考技术A 1 查看应有的软件是否安装

查看semanager是否安装执行下面命令:rpm -qa | grep semanager

如果没有安装执行下面命令:yum -y install policycoreutils-python

2 修改 ssh 配置文件

vi /etc/ssh/sshd_config

①首先把Port=22注释去掉,再把端口22更改为你想更改的端口。

3 修改 SELinux

semanage port -l | grep ssh//使用以下命令查看当前SElinux 允许的ssh端口:

                      ( 如果没有samanager命令,yum安装:yum -y install policycoreutils-python )

4 添加 20000 端口到  SELinux

semanage port -a -t ssh_port_t -p tcp 20000

semanage port -l | grep ssh  //然后确认一下是否添加进去

如果成功会输出:

ssh_port_t                    tcp    20000, 22

5 重启 ssh 服务执行下面命令: service sshd restart或者systemctl restart sshd.service

6、添加防火墙端口号

远程登录Linux服务器修改ssh端口

公司有部分服务器root密码被禁用,有部分没有禁用,禁用root的服务器需要通过tomcat用户登陆系统,切换至root修改端口,没有禁用的直接修改root密码;

#-*- coding:utf-8 -*-
import paramiko
import time
‘‘‘远程登录修改端口‘‘‘
def ssh_connect( _host, _username, _password ):
    try:
        _ssh_fd = paramiko.SSHClient()
        _ssh_fd.set_missing_host_key_policy( paramiko.AutoAddPolicy() )
        _ssh_fd.connect( _host, username = _username, password = _password )
    except Exception as e:
        return (ssh %[email protected]%s: %s % (_username, _host, e))
    return _ssh_fd

def ssh_exec_cmd( _ssh_fd, _cmd ):
    return _ssh_fd.exec_command( _cmd )

def remote_ssh(_ssh_fd,cmd,root_pwd):
    ssh = _ssh_fd.invoke_shell()
    time.sleep(0.1)
    ssh.send(su - \n)
    buff = ‘‘
    while not buff.endswith(Password: ):
        resp = ssh.recv(9999)
        buff +=resp
    ssh.send(root_pwd)
    ssh.send(\n)
    buff = ‘‘
    while not buff.endswith(# ):
        resp = ssh.recv(9999)
        buff +=resp
    ssh.send(cmd)
    ssh.send(\n)
    buff = ‘‘
    while not buff.endswith(# ):
        resp = ssh.recv(9999)
        buff +=resp
    _ssh_fd.close()
    result = buff
    return result
def ssh_close( _ssh_fd ):
    _ssh_fd.close()




def main(): 
    hostname = [xxx.xx.xx.xx]
    username = [root,tomcat]
    password = [********,*********]
    cmd = echo "Port 61822" >> /etc/ssh/sshd_config  && service sshd restart
    for i in range(len(hostname)):
        sshd = ssh_connect( hostname[i] , username[0] , password[0])
        if "Authentication failed" in str(sshd):
            print PermitRootLogin no
            sshd = ssh_connect( hostname[i] , username[1] , password[1])
            print remote_ssh(sshd,cmd,password[0])
        else:
            print PermitRootLogin yes 
            stdin, stdout, stderr = ssh_exec_cmd( sshd, cmd )
            stdout_list = stdout.readlines()
            print stdout_list



if __name__ == "__main__":
    # pass
    main()

 

以上是关于linux修改远程端口22的主要内容,如果未能解决你的问题,请参考以下文章

怎样修改Linux系统下22端口

怎么修改linux的ssh终端远程22端口的方法

如何修改Linux远程端口/如何修改ssh端口

快速修改Linux服务器远程端口方法

linux系统如何设置远程端口

如何修改Linux远程端口/如何修改ssh端口?