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的主要内容,如果未能解决你的问题,请参考以下文章