警告:该方法仅供学习研究,请勿在正式比赛中使用,后果自负 (禁赛三年)!
ssh是什么?
SSH (Secure Shell)是一种加密的网络传输协议,可在不安全的网络中为网络服务提供安全的传输环境。SSH通过在网络中创建安全隧道来实现SSH客户端与服务器之间的连接。SSH最常见的用途是远程登录系统,人们通常利用SSH来传输命令行界面和远程执行命令。
为什么能使用ssh
OI竞赛专用的系统NOI Linux是自带ssh的。
事实上,所有的POSIX系统都自带ssh。
前置条件
ssh的使用前提是,没有关交换机,目标是实体机 (或虚拟机开启端口映射到内网),同时目标电脑开启了sshd (默认自动开启)。
如何使用ssh
我们都知道NOI Linux默认用户名为noilinux
, 默认密码是123456
。
首先,打开本机终端,假设我们已经知道了目标主机的IP为192.168.123.123
,
接着我们可以执行ssh [email protected]
命令登录,
这里我们没有使用root用户登录,而是用普通用户noilinux
登录,是因为大多数Linux发行版默认禁止root的ssh登录 (可以修改通过sshd的配置来设置允许)。
通过普通用户登录后,我们可以再次执行sudo -i
或su
命令切换到root。
然后,我们就可以完全控制这台电脑了。我们可以使用vim
、cat
等命令行工具,查看并修改目标主机上的文件。
如果还想要把文件传输回本机,可以使用ftp。
利用scp
命令就能够实现,而且不会在对方电脑上留下记录 (但scp也是基于ssh的)。
用法示例: scp [email protected]:/home/noilinux/Desktop/XXX/abc.cpp
删除痕迹
执行完操作以后,会留下终端操作痕迹,你可以执行rm ~/.bash_history
删除你的terminal使用记录。
如何预防被ssh控制
最简单的方法,直接关掉sshd
,这里有三种方法:
1.
1 | sudo rm -f /etc/init/ssh.conf |
最为彻底,直接删除ssh服务。
2.
1 | service ssh stop |
3.
1 | pkill sshd |