SSH and Tmux
About 815 wordsAbout 3 min
2024-01-11
tmux
Tmux 简介
- Tmux 是一个终端复用器(terminal multiplexer),允许在单一窗口中同时运行多个会 话,并支持分离会话、共享会话等功能。
- 它的主要功能:
- 允许多个会话共用一个窗口。
- 支持在不同终端之间共享会话。
- 支持窗口的垂直和水平拆分。
安装 Tmux
- 在 Ubuntu 或 Debian 上安装:
sudo apt-get install tmux
- 在 CentOS 或 Fedora 上安装:
sudo yum install tmux
- 在 Mac 上安装:
brew install tmux
基本操作
- 启动 Tmux:
tmux
- 退出 Tmux:
exit
或按Ctrl+d
前缀键
- 默认前缀键是
Ctrl+b
,所有快捷键需先按Ctrl+b
,然后再按其他按键。- 示例:
Ctrl+b ?
查看帮助。
- 示例:
会话管理
- 新建会话:
tmux new -s <session-name>
- 分离会话:
Ctrl+b d
或tmux detach
- 列出所有会话:
tmux ls
- 接入会话:
tmux attach -t <session-name>
- 杀死会话:
tmux kill-session -t <session-name>
- 切换会话:
tmux switch -t <session-name>
- 重命名会话:
tmux rename-session -t <session-name> <new-name>
最简操作流程
- 新建会话:
tmux new -s my_session
- 在 Tmux 窗口运行程序。
- 分离会话:
Ctrl+b d
- 下次连接会话:
tmux attach -t my_session
窗格操作
- 划分窗格:
- 垂直划分:
Ctrl+b %
- 水平划分:
Ctrl+b "
- 垂直划分:
- 切换窗格:
- 上方窗格:
Ctrl+b ↑
- 下方窗格:
Ctrl+b ↓
- 左边窗格:
Ctrl+b ←
- 右边窗格:
Ctrl+b →
- 上方窗格:
- 交换窗格位置:
- 上移:
Ctrl+b U
- 下移:
Ctrl+b D
- 上移:
- 关闭窗格:
Ctrl+b x
窗口管理
- 新建窗口:
Ctrl+b c
- 切换窗口:
- 上一个窗口:
Ctrl+b p
- 下一个窗口:
Ctrl+b n
- 切换到指定窗口:
Ctrl+b <number>
- 上一个窗口:
- 重命名窗口:
Ctrl+b ,
SSH
安装 SSH Server
- 安装 SSH Server:
apt install ssh-server
- 查看服务端状态:
service sshd status
客户端配置
- 安装 SSH 客户端:
apt install ssh-client
- 生成 SSH 密钥:
ssh-keygen -t rsa
(使用 rsa 算法生成密钥) - 将公钥复制到远程服务器:
ssh-copy-id [用户名]@[ip]
- 设置密钥权限:
chmod 0400 id_rsa
连接
- 使用 SSH 连接远程服务器:
ssh -i ~/.ssh/id_rsa -p 999 root@140.143.18.32
- 默认端口连接:
ssh -p [端口] [用户名]@[ip]
- 使用 RSA 文件连接:
ssh -i [rsa文件] -p [端口] [用户名]@[ip]
- 登出:
logout
导出日志
- 导出远程服务器日志:
ssh root@47.116.28.185 journalctl > journal.txt
VS Code SSH 配置
配置步骤
编辑 SSH 配置文件:
~/.ssh/config
配置内容示例:
Host <myhost> HostName <myhost> User <remoteuser> Port 22 PreferredAuthentications publickey IdentityFile "/Users/<localuser>/.ssh/keys/<myhost>_rsa"
生成 SSH 密钥:
ssh-keygen -q -b 2048 -P "" -f /Users/<localuser>/.ssh/keys/<myhost>_rsa -t rsa
- 生成两个文件:
<myhost>_rsa
(私钥)<myhost>_rsa.pub
(公钥)
- 生成两个文件:
将公钥
<myhost>_rsa.pub
复制到服务器的~/.ssh/authorized_keys
文件中。- 如果
authorized_keys
文件不存在,可以重命名<myhost>_rsa.pub
为authorized_keys
并设置权限:chmod 600 authorized_keys
- 如果
连接测试:
在终端输入:ssh <remoteuser>@<myhost>
无需输入密码即可登录。
参考链接
虚拟机为了配合主机使用ActivityWatch,主机服务运行在5600端口,放行虚拟机NAT子网防 火墙之后,无论如何也无法访问。经查发现是ActivityWatch故意设置了门槛,以防软件被 滥用。