Ubuntu SSH命令行操作主要包括以下几个方面:
连接到远程服务器
ssh username@hostname
username
是你在远程服务器上的用户名。hostname
是远程服务器的IP地址或域名。使用密钥认证连接
ssh -i /path/to/private_key username@hostname
-i
参数指定私钥文件路径。断开连接
exit
或按 Ctrl+D
。使用SCP(Secure Copy Protocol)复制文件
scp localfile username@hostname:/path/to/destination
scp username@hostname:/path/to/source localfile
使用SFTP(SSH File Transfer Protocol)进行交互式文件传输
sftp username@hostname
get
、put
、ls
、cd
等命令。直接在远程服务器上执行命令
ssh username@hostname 'command'
在后台运行命令
ssh username@hostname 'command &'
本地端口转发
ssh -L local_port:destination_host:destination_port username@hostname
远程端口转发
ssh -R remote_port:destination_host:destination_port username@hostname
动态端口转发(SOCKS代理)
ssh -D local_port username@hostname
编辑SSH配置文件
nano ~/.ssh/config
生成SSH密钥对
ssh-keygen -t rsa -b 4096
~/.ssh/authorized_keys
文件中。修改SSH服务配置
/etc/ssh/sshd_config
文件,然后重启SSH服务:sudo systemctl restart sshd
更改SSH默认端口
sshd_config
中修改 Port
参数。禁用root登录
sshd_config
中设置 PermitRootLogin no
。使用防火墙限制访问
ufw
或其他防火墙工具配置规则。查看SSH连接日志
sudo tail -f /var/log/auth.log
使用 netstat
或 ss
查看SSH端口监听状态
sudo netstat -tulnp | grep sshd
# 或者
sudo ss -tulnp | grep sshd
列出远程目录内容
ssh username@hostname 'ls -l /path/to/directory'
创建远程目录
ssh username@hostname 'mkdir -p /path/to/new_directory'
删除远程文件或目录
ssh username@hostname 'rm -rf /path/to/file_or_directory'
通过掌握这些基本的SSH命令行操作,你可以高效地在Ubuntu系统上进行远程管理和文件传输。