一般在企业应用中,如果要远程连接到服务器,一般的做法都是先VPN连接到客户内网,然后再SSH到远程服务器,这样数据远程传输不仅有VPN的保护,还有SSH的保护,使数据传输更加安全。我们这里着重阐述SSH的认证配置。
SSH的认证不仅可以通过口令,还可以通过证书,当然还可以使用证书和口令相结合的认证方式,下面我将分别阐述各种认证的配置方法:
1.通过口令认证
第一步:安装相关软件包
使用命令 rpm -qa | grep openssh查看是否安装相关软件包。
[root@server ~]# rpm -qa | grep openssh
openssh-server-4.3p2-16.el5
openssh-4.3p2-16.el5
openssh-clients-4.3p2-16.el5
openssh-askpass-4.3p2-16.el5
如果没有,则安装以上软件包,当然也可以下载源码包,进行编译安装,具体方法这里就不多说了,不清楚的自加google一下。
第二步:配置SSH
#服务器端配置 /etc/ssh/sshd_config
#只考虑协议版本2
/usr/local/etc/ssh/sshd_config
#全局配置
VersionAddendum TecZm-20050505 #在telnet ip 22时只能看出openssh的版本,看不出OS
Protocol 2 #使用协议版本2
Port 22 #sshd监听22端口
ListenAddress 192.168.7.1 #sshd只监听目标ip为192.168.7.1的请求
AllowGroups wheel myguest #允许wheel组和myguest组的用户登录
AllowUsers teczm authen@192.168.8.5 #允许来自以上组的teczm用户和authen用户登录,
#且authen用户只能从主机192.168.8.5登录
#DenyGroups #拒绝登录的组,参数设置和AllowGroups一样
#DenyUsers #拒绝登录的用户,参数设置和AllowUsers一样
#AllowTcpForwarding yes #是否转发的TCP包都被允许。默认是 ``yes''。
LoginGraceTime 60 #60秒内客户端不能登录即登录超时,sshd切断连接。
KeyRegenerationInterval 1800 #1800秒(30分钟)后自动重新生成服务器的密匙。
MaxStartups 3 #设置同时发生的未验证的并发量,即同时可以有几个
UseDNS no #不使用DNS查询客户端。
PermitRootLogin no #不允许root登录,root可由wheel组用户登录后su。
X11Forwarding no #禁止用户运行远程主机上的X程序。
UseLogin yes #禁止X11Forwarding
#认证配置(口令认证、PAM认证、非对称密钥认证任选其一)
#口令认证
PubkeyAuthentication no #不使用非对称密钥认证
PasswordAuthentication yes #使用口令认证
PermitEmptyPasswords no #不允许使用空密码的用户登录
#PAM认证
PasswordAuthentication no #不使用口令认证
UsePAM #使用pam认证
ChallengeResponseAuthentication yes #允许挑战应答方式
#非对称密钥认证
PasswordAuthentication no #不使用口令认证
PubkeyAuthentication yes #使用非对称密钥认证
AuthorizedKeysFile .ssh/authorized_keys #用户认证使用的公钥
一般情况下,默认的SSH配置文件就可以满足口令认证需要。
第三步:开启SSH服务
使用命令开启当前的SSH服务:/etc/init.d/sshd start
使用命令使其开机自动运行:chkconfig sshd on
2.通过证书认证
在以上配置的基础上,为了使认证过程更加安全,还可以使用非对称密钥加密证书技术,步骤和说明如下:
第一步:生成非对称密钥
[root@server ~]# ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):#私钥存储目录
Enter passphrase (empty for no passphrase):password#私钥的认证密码
Enter same passphrase again:password#确认私钥的认证密码
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
19:49:2d:57:4d:a6:43:9b:23:f5:75:bd:db:9c:8a:21 root@server.redhat.com
第二步:拷贝公钥到服务器
[root@server ~]# ssh-copy-id root@192.168.20.26
The authenticity of host '192.168.20.26 (192.168.20.26)' can't be established.
RSA key fingerprint is 4c:73:36:e0:21:6d:0c:08:16:66:14:a1:30:26:cb:08.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.20.26' (RSA) to the list of known hosts.
root@192.168.20.26's password:sys_password#系统密码
Now try logging into the machine, with "ssh 'root@192.168.20.26'", and check in:
.ssh/authorized_keys
to make sure we haven't added extra keys that you weren't expecting.
[root@server ~]#
第三步:测试非对称认证
[root@server ~]# ssh 192.168.20.26
Enter passphrase for key '/root/.ssh/id_rsa':password#私钥的认证密码
Last login: Tue Jul 22 09:22:40 2008 from 192.168.20.26
[root@server ~]#
3.证书和口令结合认证
在第二种方法中,如果默认非对称密钥的口令为空,则是只通过证书认证,如果设置了非对称密钥口令,则是证书和口令结合认证,当然这里的口令不是系统口令,是嵌套在密钥中的另外一个口令,可以起到双重保护的作用。
补充:在应用ssh证书认证的过程中,还有两个命令可以应用,
ssh-agent bash #在bash环境下启用ssh代理服务
ssh-add #将ssh密钥添加到内存中
这两个命令结合使用的作用就是避免每次通过SSH登录服务器时重复输入口令,当然这种也会造成一些不安全的因素,所以一般不使用。
本文出自 51CTO.COM技术博客
SSH的认证不仅可以通过口令,还可以通过证书,当然还可以使用证书和口令相结合的认证方式,下面我将分别阐述各种认证的配置方法:
1.通过口令认证
第一步:安装相关软件包
使用命令 rpm -qa | grep openssh查看是否安装相关软件包。
[root@server ~]# rpm -qa | grep openssh
openssh-server-4.3p2-16.el5
openssh-4.3p2-16.el5
openssh-clients-4.3p2-16.el5
openssh-askpass-4.3p2-16.el5
如果没有,则安装以上软件包,当然也可以下载源码包,进行编译安装,具体方法这里就不多说了,不清楚的自加google一下。
第二步:配置SSH
#服务器端配置 /etc/ssh/sshd_config
#只考虑协议版本2
/usr/local/etc/ssh/sshd_config
#全局配置
VersionAddendum TecZm-20050505 #在telnet ip 22时只能看出openssh的版本,看不出OS
Protocol 2 #使用协议版本2
Port 22 #sshd监听22端口
ListenAddress 192.168.7.1 #sshd只监听目标ip为192.168.7.1的请求
AllowGroups wheel myguest #允许wheel组和myguest组的用户登录
AllowUsers teczm authen@192.168.8.5 #允许来自以上组的teczm用户和authen用户登录,
#且authen用户只能从主机192.168.8.5登录
#DenyGroups #拒绝登录的组,参数设置和AllowGroups一样
#DenyUsers #拒绝登录的用户,参数设置和AllowUsers一样
#AllowTcpForwarding yes #是否转发的TCP包都被允许。默认是 ``yes''。
LoginGraceTime 60 #60秒内客户端不能登录即登录超时,sshd切断连接。
KeyRegenerationInterval 1800 #1800秒(30分钟)后自动重新生成服务器的密匙。
MaxStartups 3 #设置同时发生的未验证的并发量,即同时可以有几个
UseDNS no #不使用DNS查询客户端。
PermitRootLogin no #不允许root登录,root可由wheel组用户登录后su。
X11Forwarding no #禁止用户运行远程主机上的X程序。
UseLogin yes #禁止X11Forwarding
#认证配置(口令认证、PAM认证、非对称密钥认证任选其一)
#口令认证
PubkeyAuthentication no #不使用非对称密钥认证
PasswordAuthentication yes #使用口令认证
PermitEmptyPasswords no #不允许使用空密码的用户登录
#PAM认证
PasswordAuthentication no #不使用口令认证
UsePAM #使用pam认证
ChallengeResponseAuthentication yes #允许挑战应答方式
#非对称密钥认证
PasswordAuthentication no #不使用口令认证
PubkeyAuthentication yes #使用非对称密钥认证
AuthorizedKeysFile .ssh/authorized_keys #用户认证使用的公钥
一般情况下,默认的SSH配置文件就可以满足口令认证需要。
第三步:开启SSH服务
使用命令开启当前的SSH服务:/etc/init.d/sshd start
使用命令使其开机自动运行:chkconfig sshd on
2.通过证书认证
在以上配置的基础上,为了使认证过程更加安全,还可以使用非对称密钥加密证书技术,步骤和说明如下:
第一步:生成非对称密钥
[root@server ~]# ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):#私钥存储目录
Enter passphrase (empty for no passphrase):password#私钥的认证密码
Enter same passphrase again:password#确认私钥的认证密码
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
19:49:2d:57:4d:a6:43:9b:23:f5:75:bd:db:9c:8a:21 root@server.redhat.com
第二步:拷贝公钥到服务器
[root@server ~]# ssh-copy-id root@192.168.20.26
The authenticity of host '192.168.20.26 (192.168.20.26)' can't be established.
RSA key fingerprint is 4c:73:36:e0:21:6d:0c:08:16:66:14:a1:30:26:cb:08.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.20.26' (RSA) to the list of known hosts.
root@192.168.20.26's password:sys_password#系统密码
Now try logging into the machine, with "ssh 'root@192.168.20.26'", and check in:
.ssh/authorized_keys
to make sure we haven't added extra keys that you weren't expecting.
[root@server ~]#
第三步:测试非对称认证
[root@server ~]# ssh 192.168.20.26
Enter passphrase for key '/root/.ssh/id_rsa':password#私钥的认证密码
Last login: Tue Jul 22 09:22:40 2008 from 192.168.20.26
[root@server ~]#
3.证书和口令结合认证
在第二种方法中,如果默认非对称密钥的口令为空,则是只通过证书认证,如果设置了非对称密钥口令,则是证书和口令结合认证,当然这里的口令不是系统口令,是嵌套在密钥中的另外一个口令,可以起到双重保护的作用。
补充:在应用ssh证书认证的过程中,还有两个命令可以应用,
ssh-agent bash #在bash环境下启用ssh代理服务
ssh-add #将ssh密钥添加到内存中
这两个命令结合使用的作用就是避免每次通过SSH登录服务器时重复输入口令,当然这种也会造成一些不安全的因素,所以一般不使用。
本文出自 51CTO.COM技术博客
vsftp虚拟用户配置
[ 2008/09/27 22:16 | by selboo ]
ftp:vsftp version 2.0.6 db4.6-util
1。安装
#apt-get install vsftp db4.6-util
2。建立虚拟用户使用目录
#mkdir -p /var/123
设置只允许ftp 访问
#chown ftp.root /var/123
3.创建用户数据库
#vim 123.txt
ludy (虚拟用户)
ludy (虚拟用户密码)
user1
user1
......等等。
格式为一行用户名,一行密码~~
生成数据库~
#db4.6_load -T -t hash -f 123.txt /etc/vsftpd_login.db
为了安全设置一下访问权限
#chmod 600 /etc/vsftpd_login.db
4.配置PAM文件
ubuntu apt安装vsftp默认是有一个PAM文件的,但是在里面添加会不生效不知道为什么,所以我新建/etc/pam.d/vsftpd.vu内容如下:
auth required /lib/security/pam_userdb.so db=/etc/vsftpd_login
account required /lib/security/pam_userdb.so db=/etc/vsftpd_login
我们建立的虚拟用户将采用PAM进行验证,这是通过/etc/vsftpd.conf文件中的 语句pam_service_name=vsftpd.vu来启用的。
5。配置/etc/vsftpd.conf
根据需要创建/etc/vsftpd.conf,一般要确保含有以下设置:
listen=YES
anonymous_enable=NO
dirmessage_enable=YES
xferlog_enable=YES
xferlog_file=/var/log/vsftpd.log
xferlog_std_format=YES
chroot_local_user=YES
guest_enable=YES
guest_username=ftp
user_config_dir=/etc/vsftpd_user_conf
pam_service_name=vsftpd.vu
local_enable=YES
到现在为止,我们的虚拟用户都可以工作了,可是它们的根目录现在都是/home/ftp,权限也都一样。 那么怎么才能完成我们预定的目标呢?
6。配置/etc/vsftpd_user_conf
在上面的配置中,有这么一行
user_config_dir=/etc/vsftpd_user_conf
现在,我们要把各个用户的配置文件放到目录/etc/vsftpd_user_conf中
#mkdir /etc/vsftpd_user_conf
#cd /etc/vsftpd_user_conf
#vim ludy
加入
write_enable=YES
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
local_root=/var/123
好了现在 ludy就用控制123 所有权限了。
7。/etc/init.d/vsftp restart 重启服务
ftp localhost 可以测试了。!
1。安装
#apt-get install vsftp db4.6-util
2。建立虚拟用户使用目录
#mkdir -p /var/123
设置只允许ftp 访问
#chown ftp.root /var/123
3.创建用户数据库
#vim 123.txt
ludy (虚拟用户)
ludy (虚拟用户密码)
user1
user1
......等等。
格式为一行用户名,一行密码~~
生成数据库~
#db4.6_load -T -t hash -f 123.txt /etc/vsftpd_login.db
为了安全设置一下访问权限
#chmod 600 /etc/vsftpd_login.db
4.配置PAM文件
ubuntu apt安装vsftp默认是有一个PAM文件的,但是在里面添加会不生效不知道为什么,所以我新建/etc/pam.d/vsftpd.vu内容如下:
auth required /lib/security/pam_userdb.so db=/etc/vsftpd_login
account required /lib/security/pam_userdb.so db=/etc/vsftpd_login
我们建立的虚拟用户将采用PAM进行验证,这是通过/etc/vsftpd.conf文件中的 语句pam_service_name=vsftpd.vu来启用的。
5。配置/etc/vsftpd.conf
根据需要创建/etc/vsftpd.conf,一般要确保含有以下设置:
listen=YES
anonymous_enable=NO
dirmessage_enable=YES
xferlog_enable=YES
xferlog_file=/var/log/vsftpd.log
xferlog_std_format=YES
chroot_local_user=YES
guest_enable=YES
guest_username=ftp
user_config_dir=/etc/vsftpd_user_conf
pam_service_name=vsftpd.vu
local_enable=YES
到现在为止,我们的虚拟用户都可以工作了,可是它们的根目录现在都是/home/ftp,权限也都一样。 那么怎么才能完成我们预定的目标呢?
6。配置/etc/vsftpd_user_conf
在上面的配置中,有这么一行
user_config_dir=/etc/vsftpd_user_conf
现在,我们要把各个用户的配置文件放到目录/etc/vsftpd_user_conf中
#mkdir /etc/vsftpd_user_conf
#cd /etc/vsftpd_user_conf
#vim ludy
加入
write_enable=YES
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
local_root=/var/123
好了现在 ludy就用控制123 所有权限了。
7。/etc/init.d/vsftp restart 重启服务
ftp localhost 可以测试了。!
Linux下硬盘分区的方案
[ 2008/09/25 13:02 | by selboo ]
在对硬盘进行分区前,应该先弄清楚计算机担负的工作及硬盘的容量有多大,还要考虑到以下几个问题。
第一点也是最重要的一点,要知道当前安装LILO的版本,因为LILO2.21及早期版本对硬盘大小有限制,如果安装LILO到1023磁道以外即8G的空间以外,LILO就无法启动。 但一些BIOS较老的机器,LINUX仍然无法突破1024磁道的限制,因此这些BIOS无法认出大于1024的硬盘空间。
还需要考虑的问题有:
· 是否限制用户可使用的磁盘空间大小?
· 在系统中需要安装哪些软件?
· 交换分区需要多大?
· 系统是否有多个硬盘?
下面,我们按系统工作性质的不同对分区的划分提出了一些建议。当然,根据实际情况,在满足系统工作需求的前提下,下面的分区大小也可以灵活的变动。
基本工作站的分区方案
假设系统的硬盘大小是10G。
/boot 20M
Swap 128M
/root 9.85G
建立一个20M的/boot分区是为了避免将系统内核文件放到1024磁道以外,如果将/boot做为root分区的一个子目录,内核文件就会安装在root分区的任何地方,因为硬盘的大小超过了8G,所以在启动时就有可能出现问题。建议将交换分区的大小设置为内存的两倍,在这里我们假设系统的内存为64M。最后我们将硬盘的剩余空间全部分给了root分区。
Red Hat Linux 6.2 及其早期版本上的基本服务器硬盘分区方案
这里的服务器我们假设只提供几种通用的服务,如WWW服务及FTP服务等几种服务,通过telnet登录的用户数很少。假设其硬盘大小为25G。
/boot 20M
Swap 128M
/ 10G
/home 13G
/var 2G
在硬盘的最前面创建20M大小的/boot分区,原因同上。交换分区的大小也是128M,因为内存的大小为64M。
/ ,即root分区设为10G这么大是因为其中有一个/usr目录,这个目录可能会占用很多硬盘空间,特别是在安装了X Server,运行图形界面的应用程序的时候。
/home分区是硬盘中最大的分区,这似乎与我们假设系统用户数不多有些矛盾。实际上在/home目录下确实没有几个用户目录,但在Red Hat6.2及更早的版本中,Apache服务器和wu-ftpd FTP服务器被放在了/home/httpd及/home/ftp目录中。所以这个分区这么大也是有原因的。
最后,/var目录独自占用了一个分区,因为系统的所有日志都写到了/var/log目录下,这将会占用很大的硬盘空间。如果系统日志记录得非常详细,整个目录很快会被写满,导致系统工作呆滞。当然,可以通过系统日志后台守护程序syslogd来修改日志配置,避免发生这种情况。
Red Hat 7及以上版本的基本服务器分区方案
这种情况同前一个方案的情况相同,不同的是LINUX版本为Red Hat 7.0及其以上版本。
/boot 20M
Swap 128M
/ 10G
/var 15G
与RedHat6不同,在RedHat7中HTTP服务和FTP服务的目录现在位于 /var/www/ 和/var/ftp/,因此/var分区有15G之大也就不难理解了。
多用户服务器分区方案
在这种服务器系统中,同时有多个用户通过telnet, ssh, rlogin或其方式在远程访问系统。系统中有三个35G的硬盘驱动器,总共有105G的磁盘空间 。系统中用到了RAID 5技术做数据冗余。这种情况下,管理员必须为每个用户分配磁盘空间。对RedHat 6.2及更早的版本,分区如下:
Disk 1:
/boot 20M
/ 4G
/var 3GB
/home 27.98G
Disk 2:
swap 20MB
/ 4GB
/var 3GB
/home 27.98GB
Disk 3:
swap 20MB
/ 4GB
/var 3GB
/home 27.98GB
这样分区的原因:首先,Disk1上的20M /boot分区不属于任何RAID阵列,否则如果你将/boot放至RAID阵列中,以后就不能系统内核升级了。
为了方便管理,在其它两个硬盘中建立了20M的交换分区。这种服务器一般配有1G以上的内存,因此交换分区的大小不成问题。如果增大交换分区,就会减少RAID分区空间,所以20M是足够的。RAID分区的分组如下:
· 1-A, 2-A, and 3-A 一起组成一个8G的 RAID 5 驱动器,做为/根目录打开。
· 1-B, 2-B, and 3-B 组成 6GB的 RAID 5 驱动器,做为 /var目录。
· 1-C, 2-C, and 3-C 组成 55.96GB RAID 5 驱动器, 做为 /home.目录。
这种分配方案总共有55.96G的空间分配给所有用户及Apache和FTP服务,在/var下用6G空间用做记录日志、邮件,这么大的空间是足够的。
如果安装Red Hat7或以上版本,应给/var分区更大的空间,因为它同时还存放着WEB和FTP服务的两个目录。
linux ps命令用法详解
[ 2008/09/23 15:37 | by selboo ]
ps命令
要对进程进行监测和控制,首先必须要了解当前进程的情况,也就是需要查看当前进程,而ps命令就是最基本同时也是非常强大的进程查看命令.使用该命令可以确定有哪些进程正在运行和运行的状态、进程是否结束、进程有没有僵尸、哪些进程占用了过多的资源等等.总之大部分信息都是可以通过执行该命令得到的.
ps命令最常用的还是用于监控后台进程的工作情况,因为后台进程是不和屏幕键盘这些标准输入/输出设备进行通信的,所以如果需要检测其情况,便可以使用ps命令了.
(1)ps a 显示现行终端机下的所有程序,包括其他用户的程序。
(2)ps -A 显示所有程序。
(3)ps c 列出程序时,显示每个程序真正的指令名称,而不包含路径,参数或常驻服务的标示。
(4)ps -e 此参数的效果和指定"A"参数相同。
(5)ps e 列出程序时,显示每个程序所使用的环境变量。
(6)ps f 用ASCII字符显示树状结构,表达程序间的相互关系。
(7)ps -H 显示树状结构,表示程序间的相互关系。
(8)ps -N 显示所有的程序,除了执行ps指令终端机下的程序之外。
(9)ps s 采用程序信号的格式显示程序状况。
(10)ps S 列出程序时,包括已中断的子程序资料。
(11)ps -t<终端机编号> 指定终端机编号,并列出属于该终端机的程序的状况。
(12)ps u 以用户为主的格式来显示程序状况。
(13)ps x 显示所有程序,不以终端机来区分。
最常用的方法是ps -aux,然后再利用一个管道符号导向到grep去查找特定的进程,然后再对特定的进程进行操作。
要对进程进行监测和控制,首先必须要了解当前进程的情况,也就是需要查看当前进程,而ps命令就是最基本同时也是非常强大的进程查看命令.使用该命令可以确定有哪些进程正在运行和运行的状态、进程是否结束、进程有没有僵尸、哪些进程占用了过多的资源等等.总之大部分信息都是可以通过执行该命令得到的.
ps命令最常用的还是用于监控后台进程的工作情况,因为后台进程是不和屏幕键盘这些标准输入/输出设备进行通信的,所以如果需要检测其情况,便可以使用ps命令了.
(1)ps a 显示现行终端机下的所有程序,包括其他用户的程序。
(2)ps -A 显示所有程序。
(3)ps c 列出程序时,显示每个程序真正的指令名称,而不包含路径,参数或常驻服务的标示。
(4)ps -e 此参数的效果和指定"A"参数相同。
(5)ps e 列出程序时,显示每个程序所使用的环境变量。
(6)ps f 用ASCII字符显示树状结构,表达程序间的相互关系。
(7)ps -H 显示树状结构,表示程序间的相互关系。
(8)ps -N 显示所有的程序,除了执行ps指令终端机下的程序之外。
(9)ps s 采用程序信号的格式显示程序状况。
(10)ps S 列出程序时,包括已中断的子程序资料。
(11)ps -t<终端机编号> 指定终端机编号,并列出属于该终端机的程序的状况。
(12)ps u 以用户为主的格式来显示程序状况。
(13)ps x 显示所有程序,不以终端机来区分。
最常用的方法是ps -aux,然后再利用一个管道符号导向到grep去查找特定的进程,然后再对特定的进程进行操作。
Linux,Unix下各端口列表汇总篇
[ 2008/09/22 12:39 | by selboo ]
Linux常用端口
1 tcpmux TCP 端口服务多路复用
5 rje 远程作业入口
7 echo Echo 服务
9 discard 用于连接测试的空服务
11 systat 用于列举连接了的端口的系统状态
13 daytime 给请求主机发送日期和时间
17 qotd 给连接了的主机发送每日格言
18 msp 消息发送协议
19 chargen 字符生成服务;发送无止境的字符流
20 ftp-data FTP 数据端口
21 ftp 文件传输协议(FTP)端口;有时被文件服务协议(FSP)使用
22 ssh 安全 Shell(SSH)服务
23 telnet Telnet 服务
25 smtp 简单邮件传输协议(SMTP)
37 time 时间协议
39 rlp 资源定位协议
42 nameserver 互联网名称服务
43 nicname WHOIS 目录服务
49 tacacs 用于基于 TCP/IP 验证和访问的终端访问控制器访问控制系统
50 re-mail-ck 远程邮件检查协议
53 domain 域名服务(如 BIND)
63 whois++ WHOIS++,被扩展了的 WHOIS 服务
67 bootps 引导协议(BOOTP)服务;还被动态主机配置协议(DHCP)服务使用
68 bootpc Bootstrap(BOOTP)客户;还被动态主机配置协议(DHCP)客户使用
69 tftp 小文件传输协议(TFTP)
70 gopher Gopher 互联网文档搜寻和检索
71 netrjs-1 远程作业服务
72 netrjs-2 远程作业服务
73 netrjs-3 远程作业服务
73 netrjs-4 远程作业服务
79 finger 用于用户联系信息的 Finger 服务
80 http 用于万维网(WWW)服务的超文本传输协议(HTTP)
88 kerberos Kerberos 网络验证系统
95 supdup Telnet 协议扩展
101 hostname SRI-NIC 机器上的主机名服务
102 iso-tsap ISO 开发环境(ISODE)网络应用
105 csnet-ns 邮箱名称服务器;也被 CSO 名称服务器使用
107 rtelnet 远程 Telnet
109 pop2 邮局协议版本2
110 pop3 邮局协议版本3
111 sunrpc 用于远程命令执行的远程过程调用(RPC)协议,被网络文件系统(NFS)使用
113 auth 验证和身份识别协议
115 sftp 安全文件传输协议(SFTP)服务
117 uucp-path Unix 到 Unix 复制协议(UUCP)路径服务
119 nntp 用于 USENET 讨论系统的网络新闻传输协议(NNTP)
123 ntp 网络时间协议(NTP)
137 netbios-ns 在红帽企业 Linux 中被 Samba 使用的 NETBIOS 名称服务
138 netbios-dgm 在红帽企业 Linux 中被 Samba 使用的 NETBIOS 数据报服务
139 netbios-ssn 在红帽企业 Linux 中被 Samba 使用的NET BIOS 会话服务
143 imap 互联网消息存取协议(IMAP)
161 snmp 简单网络管理协议(SNMP)
162 snmptrap SNMP 的陷阱
163 cmip-man 通用管理信息协议(CMIP)
164 cmip-agent 通用管理信息协议(CMIP)
174 mailq MAILQ
177 xdmcp X 显示管理器控制协议
178 nextstep NeXTStep 窗口服务器
179 bgp 边界网络协议
191 prospero Cliffod Neuman 的 Prospero 服务
194 irc 互联网中继聊天(IRC)
199 smux SNMP UNIX 多路复用
201 at-rtmp AppleTalk 选路
202 at-nbp AppleTalk 名称绑定
204 at-echo AppleTalk echo 服务
206 at-zis AppleTalk 区块信息
209 qmtp 快速邮件传输协议(QMTP)
210 z39.50 NISO Z39.50 数据库
213 ipx 互联网络分组交换协议(IPX),被 Novell Netware 环境常用的数据报协议
220 imap3 互联网消息存取协议版本3
245 link LINK
347 fatserv Fatmen 服务器
363 rsvp_tunnel RSVP 隧道
369 rpc2portmap Coda 文件系统端口映射器
370 codaauth2 Coda 文件系统验证服务
372 ulistproc UNIX Listserv
389 ldap 轻型目录存取协议(LDAP)
427 svrloc 服务位置协议(SLP)
434 mobileip-agent 可移互联网协议(IP)代理
435 mobilip-mn 可移互联网协议(IP)管理器
443 https 安全超文本传输协议(HTTP)
444 snpp 小型网络分页协议
445 microsoft-ds 通过 TCP/IP 的服务器消息块(SMB)
464 kpasswd Kerberos 口令和钥匙改换服务
468 photuris Photuris 会话钥匙管理协议
487 saft 简单不对称文件传输(SAFT)协议
488 gss-http 用于 HTTP 的通用安全服务(GSS)
496 pim-rp-disc 用于协议独立的多址传播(PIM)服务的会合点发现(RP-DISC)
500 isakmp 互联网安全关联和钥匙管理协议(ISAKMP)
535 iiop 互联网内部对象请求代理协议(IIOP)
538 gdomap GNUstep 分布式对象映射器(GDOMAP)
546 dhcpv6-client 动态主机配置协议(DHCP)版本6客户
547 dhcpv6-server 动态主机配置协议(DHCP)版本6服务
554 rtsp 实时流播协议(RTSP)
563 nntps 通过安全套接字层的网络新闻传输协议(NNTPS)
565 whoami whoami
587 submission 邮件消息提交代理(MSA)
610 npmp-local 网络外设管理协议(NPMP)本地 / 分布式排队系统(DQS)
611 npmp-gui 网络外设管理协议(NPMP)GUI / 分布式排队系统(DQS)
612 hmmp-ind HMMP 指示 / DQS
631 ipp 互联网打印协议(IPP)
636 ldaps 通过安全套接字层的轻型目录访问协议(LDAPS)
674 acap 应用程序配置存取协议(ACAP)
694 ha-cluster 用于带有高可用性的群集的心跳服务
749 kerberos-adm Kerberos 版本5(v5)的“kadmin”数据库管理
750 kerberos-iv Kerberos 版本4(v4)服务
765 webster 网络词典
767 phonebook 网络电话簿
873 rsync rsync 文件传输服务
992 telnets 通过安全套接字层的 Telnet(TelnetS)
993 imaps 通过安全套接字层的互联网消息存取协议(IMAPS)
994 ircs 通过安全套接字层的互联网中继聊天(IRCS)
995 pop3s 通过安全套接字层的邮局协议版本3(POPS3)
UNIX 特有的端口
512/tcp exec 用于对远程执行的进程进行验证
512/udp biff [comsat] 异步邮件客户(biff)和服务(comsat)
513/tcp login 远程登录(rlogin)
513/udp who [whod] 登录的用户列表
514/tcp shell [cmd] 不必登录的远程 shell(rshell)和远程复制(rcp)
514/udp syslog UNIX 系统日志服务
515 printer [spooler] 打印机(lpr)假脱机
517/udp talk 远程对话服务和客户
518/udp ntalk 网络交谈(ntalk),远程对话服务和客户
519 utime [unixtime] UNIX 时间协议(utime)
520/tcp efs 扩展文件名服务器(EFS)
520/udp router [route, routed] 选路信息协议(RIP)
521 ripng 用于互联网协议版本6(IPv6)的选路信息协议
525 timed [timeserver] 时间守护进程(timed)
526/tcp tempo [newdate] Tempo
530/tcp courier [rpc] Courier 远程过程调用(RPC)协议
531/tcp conference [chat] 互联网中继聊天
532 netnews Netnews
533/udp netwall 用于紧急广播的 Netwall
540/tcp uucp [uucpd] Unix 到 Unix 复制服务
543/tcp klogin Kerberos 版本5(v5)远程登录
544/tcp kshell Kerberos 版本5(v5)远程 shell
548 afpovertcp 通过传输控制协议(TCP)的 Appletalk 文件编制协议(AFP)
556 remotefs [rfs_server, rfs] Brunhoff 的远程文件系统(RFS)