跳到主要内容

常见问题

如何连接本地终端?

由于上架App Store的App有沙盒限制,Nex Terminal没办法读取本地磁盘文件,这也是对用户系统安全考虑,但是Mac本地自带了ssh 服务,通过开启ssh服务,Nex Terminal 就可以连到本地终端了,下面为配置步骤

  1. 在 Mac 上,选取苹果菜单  > “系统设置”,点按边栏中的“通用” ,然后点按“共享”。(你可能需要向下滚动。)

  2. 打开“远程登录”。

  3. 在Nex Terminal创建一个到127.0.0.1的本地连接,使用mac系统的账号密码即可

  4. 允许远程登录 Mac 会使其安全性降低,必要情况请使用ssh key的认证方式连接本地终端,或者编辑配置文件/etc/ssh/sshd_config 添加 AllowUsers 用户@127.0.0.1,拒绝其他任何用户的连接

阿里云堡垒机文件管理选择进入到某台机器后,无法切换到另一台机器的文件管理?

  1. 选择堡垒机,点击编辑,打开启用堡垒机SFTP 设置

  2. 文件管理界面会出现一个按钮,点击此按钮即可访问堡垒机上的机器列表

如何配置 NAT(内网穿透)?

作为一名开发人员,你在笔记本电脑上开发了一个网站,想让朋友看看。但不幸的是,你朋友无法访问它。幸运的是,你朋友可以访问公共的SSH服务器,这意味着你可以通过配置远程端口转发连接,让你朋友来访问你的网站。 按照如下说明设置远程端口转发:

  1. 确保SSH服务器主机(10.23.21.11)上的10089端口是开放的。

  2. 在/etc/ssh/sshd_config中配置GatewayPorts:

  3. 在SSH服务器主机(10.23.21.11)上,确保/etc/ssh/sshd_config文件中的GatewayPorts选项设置为yes。这允许远程端口转发到除localhost之外的其他地址。

  4. 你可以使用nano、vim或sed等文本编辑器编辑文件:

    sudo vim /etc/ssh/sshd_config

    Then, find the GatewayPorts line and change it to:

    GatewayPorts yes

    Save and close the file, then restart the SSH service to apply the changes:

    sudo systemctl restart sshd
  5. 下面是刚才创建远程转发的界面截图

  1. 开启远程转发服务,现在你朋友就可以通过 http://10.23.21.11:10089 来访问你的网站了

  2. 转发遇到问题怎么解决?

如果转发不能正常工作,你需要检查下转发的端口是否被其他进程占用,输入命令查看ssh服务器监听的端口是否正确

netstat -tunlp | grep 10089

如何设置工作目录检测?

当您从终端界面切到文件管理时,文件管理器会自动打开终端当前的目录,此功能需要我们自行配置,下面为配置步骤

  1. Bash
vim ~/.bash_profile
export PS1="$PS1\[\e]7;CurrentDir="'$(pwd)\a\]'
  1. Zsh
vim ~/.zshrc
precmd () { echo -n "\x1b]7;CurrentDir=$(pwd)\x07" }

如何在边栏中隐藏IP地址?

在设置对话框中,只需点击切换按钮,如下图所示

如何让主机一直保持连接?

Linux SSH会在一段时间后关闭连接

什么是空闲SSH会话?

当主机和客户端之间建立了ssh连接,但用户在该连接上没有活动,就会被当作空闲。在这里,尽管ssh会话没有处于卡住状态。您可以列出所有活动ssh连接,然后检查单个源主机的空闲时间。

断开空闲SSH会话的诀窍是使用以下两个具有适当值的参数来实现这两种情况,即断开空闲SSH会话,并确保您的SSH会话在空闲时不会断开连接

  1. ClientAliveInterval
  2. ClientAliveCountMax

sshd_config的手册页中的描述

ClientAliveCountMax
Sets the number of client alive messages which may be sent without sshd(8) receiving any messages back from the client. If this threshold is reached
while client alive messages are being sent, sshd will disconnect the client, terminating the session. It is important to note that the use of client
alive messages is very different from TCPKeepAlive. The client alive messages are sent through the encrypted channel and therefore will not be
spoofable. The TCP keepalive option enabled by TCPKeepAlive is spoofable. The client alive mechanism is valuable when the client or server depend
on knowing when a connection has become inactive.

The default value is 3. If ClientAliveInterval is set to 15, and ClientAliveCountMax is left at the default, unresponsive SSH clients will be disconnected after approximately 45 seconds.

ClientAliveInterval
Sets a timeout interval in seconds after which if no data has been received from the client, sshd(8) will send a message through the encrypted channel to request a response from the client. The default is 0, indicating that these messages will not be sent to the client.

断开空闲的SSH会话(ssh在一段时间后关闭连接)

要断开空闲的SSH会话,即在一段时间后关闭连接,请确保ClientAliveCountMax为0。因为当0时,如果客户端在ClientAliveInterval提供的一段时间内处于非活动状态,sshd将不会发送客户端活动消息,并在某个时间后关闭ssh连接。

保持空闲的SSH会话处于活动状态

在客户端节点上的sshd_config中使用TCPKeepAlive来确保连接一直活动。sshd_config的手册页中的描述:

TCPKeepAlive
Specifies whether the system should send TCP keepalive messages to the other side. If they are sent, death of the connection or crash of one of the
machines will be properly noticed. However, this means that connections will die if the route is down temporarily, and some people find it annoying.
On the other hand, if TCP keepalives are not sent, sessions may hang indefinitely on the server, leaving "ghost" users and consuming server
resources.

The default is yes (to send TCP keepalive messages), and the server will notice if the network goes down or the client host crashes. This avoids in‐
finitely hanging sessions.

To disable TCP keepalive messages, the value should be set to no.

Nex终端支持TCP KeepAlive功能,允许您直接在设置对话框中方便地设置Keep Alive活动间隔。