SSH服务默认使用的端口是TCP Port 22
传输控制协议(TCP,Transmission Control Protocol)是为了在不可靠的互联网络上提供可靠的端到端字节流而专门设计的一个传输协议。
互联网络与单个网络有很大的不同,因为互联网络的不同部分可能有截然不同的拓扑结构、带宽、延迟、数据包大小和其他参数。TCP的设计目标是能够动态地适应互联网络的这些特性,而且具备面对各种故障时的健壮性。
扩展资料:
不同主机的应用层之间经常需要可靠的、像管道一样的连接,但是IP层不提供这样的流机制,而是提供不可靠的包交换。
应用层向TCP层发送用于网间传输的、用8位字节表示的数据流,然后TCP把数据流分区成适当长度的报文段(通常受该计算机连接的网络的数据链路层的最大传输单元(MTU)的限制)。之后TCP把结果包传给IP层,由它来通过网络将包传送给接收端实体的TCP层。
TCP为了保证不发生丢包,就给每个包一个序号,同时序号也保证了传送到接收端实体的包的按序接收。然后接收端实体对已成功收到的包发回一个相应的确认(ACK);如果发送端实体在合理的往返时延(RTT)内未收到确认,那么对应的数据包就被假设为已丢失将会被进行重传。TCP用一个校验和函数来检验数据是否有错误;在发送和接收时都要计算校验和。
命令是:
ssh -p 22 用户名@hostname/ip: -p 22 这个就是端口的指定
ssh常用用法: 1. 无选项参数运行 SSH通常使用 SSH 的方式就是不加任何选项参数,仅仅输入"ssh"。下面是示例:
$ ssh 192.168.0.103
第一次连接目标主机时,ssh 会请求确认目标主机的真实性。如果回答的是 NO,SSH 将不会继续连接,只有回答 Yes才会继续。
下一次再登陆此主机时,SSH 就不会提示确认消息了。对此主机的真实验证信息已经默认保存在每个用户的 /home/user/.ssh 文件里。
2. 指定登陆用户
默认的,ssh 会尝试用当前用户作为用户名来连接。在上面的示例命令中,ssh 会尝试用用户名叫 pungki 的用户身份来登入服务器,这是因为用户 pungki 正在客户机上使用 ssh 客户端软件。
假如目标主机上没有叫 pungki 的用户呢?这时你就必须提供一个目标主机上存在的用户名。从一开始就要指定用户名的,可以使用 -l 选项参数。
$ ssh -l leni192.168.0.103
我们也可以这样输入:
$ sshleni@192.168.0.0103
3. 指定端口
SSH 默认使用的端口号是 22。大多现代的 Linux 系统 22 端口都是开放的。如果运行 ssh 程序而没有指定端口号,它直接就是通过 22 端口发送请求的。
一些系统管理员会改变 SSH 的默认端口号。现在端口号是 1234.要连上那主机,就要使用 **-p*选项,后面在加上 SSH 端口号。
$ ssh 192.168.0.103-p 1234
要改变端口号,我需要修改 /etc/ssh/ssh_config 文件,找到此行:
Port 22
把它换成其他的端口号,比如上面示例的 1234 端口,然后重启 SSH 服务。
4.对所有数据请求压缩
有了这个选项,所有通过 SSH 发送或接收的数据将会被压缩,并且任然是加密的。要使用 SSH 的压缩功能,使用 -C 选项。
$ ssh -C192.168.0.103
如果连网速度很慢的话,比如用 modem 上网,这个选项非常有用。但如果使用的是像 LAN 或其它更高级网络的话,压缩反而会降低你的传输速度。可以使用 -o 选项加上压缩级别参数来控制压缩的级别,但这个选项仅仅只在 SSH-1 下起作用。
5. 指定一个加密算法
SSH 提供了一些可用的加密算法。可以在 */etc/ssh/ssh_config or ~/.ssh/config * 文件中看到(如果存在的话)。
如果想使用 blowfish 算法来加密 SSH 会话,那么只要把这一行加入/etc/ssh/ssh_configor ~/.ssh/config 文件就可以:
Cipher blowfish
默认的,SSH 会使用 3des 算法。
6. 打开调试模式
因为某些原因如果想要追踪调试建立的 SSH 连接情况。SSH 提供的 -v 选项参数正是为此而设的。
$ ssh -v192.168.0.103
7. 绑定源地址
如果客户端有多于两个以上的 IP 地址,就不可能分得清楚在使用哪一个 IP 连接到 SSH 服务器。
为了解决这种情况,可以使用 -b 选项来指定一个IP 地址。这个 IP 将会被使用做建立连接的源地址。
$ ssh -b192.168.0.200 -l leni 192.168.0.103
服务端,可以使用 netstat 命令来检查到服务的连接是否建立。可以看到 IP 为192.168.0.200 的连接已经建立。
8. 使用其他配置文件
默认情况下,ssh 会使用位于 /etc/ssh/ssh_config 的配置文件。这个配置文件作用于系统的所有用户。但想要为特定的用户指定特殊的设置的话,可以把配置放入 ~/.ssh/config 文件中。如果此文件不存在,可以手工创建一个。
下面是一个通用 ssh_config 文件配置的例子。这配置文件位于 /home/pungki 目录下。
Host 192.168.0.*
ForwardX11 yes
PasswordAuthentication yes
ConnectTimeout 10
Ciphersaes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,aes128-cbc,3des-cbc
Protocol 2
HashKnownHosts yes
要使用指定的配置文件,可以使用 -F 选项。
$ ssh -F/home/pungki/my_ssh_config 192.168.0.101
9. 使用 SSH X11 Forwarding
某些时候可能想把服务端的 X11 应用程序显示到客户端计算机上,SSH 提供了 -X 选项。但要启用这功能需要做些准备,下面是它的设置:
在服务器端,需要使 /etc/ssh/ssh_config 文件中的行设置成 ForwardX11 yes 或者 X11Forwadyes,以启用 X11 Forwarding,重启 SSH 服务程序。
然后在客户端,输入 ssh-X user@host:
$ ssh -Xleni@192.168.0.101
一旦登陆,可以输入:
$ echo $DISPLAY
来检查,应该可以看到向如下所示的
localhost:10:0
随后就可以运行应用了,仅仅只能输入应用程序的命令。如果想运行 xclock 程序,输入:
$ xclock
它就运行起来了,xclock 确实是运行在远端系统的,但它在本地系统里显示了。
查看当前ssh服务器默认端口
sudo netstat -tunlp | grep "ssh"
修改默认ssh服务器端口
找到ssh服务器的配置文件,ubuntu系统为/etc/ssh/sshd_config,使用下面的命令修改
sudo vim /etc/ssh/sshd_config
找到Port 22 这个的意思就是22为现在登陆ssh服务器可以访问的端口
再添加一个Port 10000~65535区间的端口号,防止被系统或者其他软件占用
修改完配置文件后,需要重启一下ssh服务(最好也重启一下服务器),让其新的监听端口生效,使用下面命令
systemctl restart sshd
shutdown -r now
尝试通过刚刚你设置的端口登陆ssh
ssh root@localhost(ip地址) -p xxxxx(端口号)
登陆上后,将刚刚sshd_config中的Port22注释掉就行了
把服务器防火墙的22端口删除即可
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)