Windows更改远程桌面默认端口号

一、判断端口是否开启

在命令行里输入telnet 127.0.0.1 3389 查看是否开启远程桌面,

 

二、修改注册表端口号

1.进入以下路径:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\Wds\rdpwd\Tds\tcp

找到右边的PortNamber项,其默认值是3389(在后面的括号中显示),选择十进制修改成所希望的端口即可,例如3344。

2.再打开以下路径:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentContro1Set\Control\Tenninal Server\WinStations\RDP\Tcp (windows 10 为 RDP-Tcp)

同上将PortNumber的值(默认是3389)修改成端口3344。

3.修改完毕,重新启动电脑,以后远程登录的时候使用端口3344就可以了(端口号可以是大于1024的任意端口,但是不要和已有的服务端口冲突即可)。

 

三、防火墙设置

打开控制面板,找到防火墙并且打开高级设置,在入站规则中添加允许TCP 3344端口进入。

然后客户端在访问的时候,使用在运行:mstsc,然后输入:192.168.1.100:3344 就可以了。

FTP服务器主动模式与被动模式

一、FTP协议及端口

FTP只通过TCP连接,没有用于FTP的UDP组件。FTP不同于其他服务的是它使用了两个端口,一个数据端口和一个命令端口。通常21端口是命令端口,20端口是数据端口。当混入主动/被动模式的概念时,数据端口就有可能不是20了。

 

二、主动模式和被动模式

主动模式(active mode)也称为标准模式,被动模式(passive mode),两种模式主要体现在数据传输时候的发起方不一样,导致服务器需要开放的端口也不一样。

 

主动模式下,当完成认证之后准备传输数据时,客户端发送命令PORT xxxx,服务器主动连接客户端指定的端口号,客户端开放的端口是随机选择的。此时,服务器防火墙需要开放的两个TCP连接端口为21、20端口。

 

被动模式下,当完成认证之后准备传输数据时,客户端认证完成发送命令PASV,此时服务器会自动打开两个随机端口并发送PORT xxxx命令给客户端,然后客户端发起从本地端口到服务器的端口xxxx的连接用来传送数据。在被动模式下,服务器需要开放端口包括21以及1024到65535之间的端口号。

 

IIS下的FTP服务,默认开启的是主动模式,需要设置服务器防火墙开放TCP协议20、21端口供FTP使用。

 

三、客户端连接FTP模式切换

IE浏览器以及我的电脑,设置IE浏览器打开“Internet 选项”,找到高级下的“浏览”节点,将“使用被动FTP(用于防火墙和DSL调制解调器的兼容)”的勾选去掉。

设置以上完成之后,可以在我的电脑上直接浏览FTP服务器。

 

Filezilla 客户端设置主动模式:

打开filezilla 客户端,选择菜单【文件】-【站点管理】-【传输设置】,单选中间的主动模式即可。

四、防火墙NAT服务器IP问题

对于服务器使用内网IP地址,然后通过防火墙NAT出去的,需要设置服务器外网对应的IP地址。

Windows服务器IIS中,通过设置防火墙支持来完成:

在Filezilla server中,点击设置进入如下界面设置对应开放的端口号范围以及外网IP地址:

我遇到的情况是在windows 2008 服务器上,本省服务器防火墙可以开放任意端口,但是在外设防火墙下做了NAT转换,本身开放的端口也就只能是21和20端口,其他端口没有自动开启,导致外部连接只能通过主动模式。这样的方式就是在于对一般用户,他没办法选择任何工具自动连接FTP服务器,需要选择主动模式才行。

修改SSH默认远程端口为21号端口

在防火墙配置的规则下默认只开放了21端口,需要远程通过ssh管理服务器,经过测试可以设置,具体步骤如下。

 

一、修改sshd服务默认监听端口

#vim /etc/ssh/sshd_config

找到#port 22去掉注释修改为port 21

 

二、修改iptables防火墙过滤规则

1.将22端口修改为21端口号

#vim /etc/sysconfig/iptables

-A INPUT -m state –state NEW -m tcp -p tcp –dport 22 -j ACCEPT

端口修改为

-A INPUT -m state –state NEW -m tcp -p tcp –dport 21 -j ACCEPT

 

2.重启iptables服务,重新加载配置生效

#service iptables restart

 

三、修改SElinux规则

1.安装 semanage selinux规则管理软件

#yum -y install policycoreutils-python

 

2.查看现有的端口情况

#semanage port -l|grep -w ’21’(精确匹配21端口使用情况)

101-1

3.把21端口添加到ssh服务端口组(可以先停止SElinux:setseforce 0)

#semanage port -a -t ssh_port_t -p tcp 21

此时再用(2)的方法查看21端口使用情况,同时存在ssh和ftp服务端口里。

 

四、测试

重启服务器并测试通过putty等软件ssh链接服务器21端口是否成功

#reboot

以上设置完成之后,默认的FTP服务21端口可以继续使用,ssh服务也可以使用21端口连接。

Mysql数据库服务器连接失败的问题处理

一、数据库连接失败的情况

  1. 数据库服务没有正常运行或者服务器已经卡死;
  2. 账号没有权限或者配置文件绑定了连接IP地址;
  3. 服务器防火墙iptables没有开放端口;
  4. 服务器防火墙selinux没有开放httpd服务连接数据库权限。

二、查找解决数据库服务失败的原因

说明:以下解决方法在linux中处理,windows中查找方法类似

  1. 登录服务器查看服务器是否有报错信息以及内存用量是否已经用完

#free –m

  1. 通过以下命令检查现有开机启动的项目

检查Mysqld服务开机启动是否正常,如果在中途有重启过服务器,并且没有设置mysqld为开机服务器自启动,可能导致连接数据库失败。

#chkconfig –list |grep mysqld

92-1

  1. 检查现有运行服务中是否有mysqld

#pstree

92-2

  1. 查看配置文件是否指定或者绑定了访问的IP地址

92-3

在社区版本5.1版本之后,配置文件中一般不会默认存在绑定IP地址的配置,之前在ubuntu的mysql配置文件中有存在过类似语句。如果有可以删除或者注释该语句。

  1. 防火墙iptables状态检查

#service iptables status

92-4

  1. 检查selinux运行状态

# sestatus –v

92-5

  1. 检查selinux中httpd服务权限

#getsebool -a | grep httpd

92-6

其中有一项 httpd_can_network_connect_db –> off 为关闭状态,现在我们将其开起来,完成之后在selinux上允许链接数据库:

#/usr/sbin/setsebool -P httpd_can_network_connect_db on

 

  1. 终极大招:重启服务器

以上完成之后,一般情况如果还是不行,将数据库服务器重启一下,可以再检查服务器错误日志文件记录的内容,查找是否有其他原因导致服务启动失败。

SSH免密码登录配置

A机器:192.168.1.100(生产机器)
B机器:192.168.1.123(管理机器)

需求:从管理机器无密码登录生产机器进行管理

1.在B机器下生成公钥/私钥对
root@B# ssh-keygen -t rsa -P ‘密匙管理密码’

2.把生成的id_rsa.pub复制到A机下
root@B# scp .ssh/id_rsa.pub root@192.168.1.100:/root/id_rsa.pub

3.登录到A机器,将复制的id_rsa.pub文件内容定向输入到.ssh/authorized_keys文件里
root@A# cd .ssh/
root@A# touch authorized_keys
root@A# chmod 600 authorized_keys
root@A# cat /root/id_rsa.pub >> authorized_keys

4.测试
退出远程的生产机器A,从管理机器B上SSH登录,看看是否无密码登录。

说明:
如果第一步生成密匙的时候密码输入为空的话这里不会任何提示直接登录,如果有密匙管理密码则需要输入次密码才能进行远程管理。
如果需要反向也可以实现免密码登录也可以用同样的方法再另一个机器上操作步骤即可实现。
以上部分只是正对linux对linux的远程免密码登录实现。