SSH (Secure Shell) 是Linux系统管理员和DevOps工程师进行远程系统管理的核心工具。以下是使用SSH进行高效系统运维的详细指南。
ssh username@hostname_or_ip
例如:
ssh admin@192.168.1.100
ssh -p 2222 username@hostname
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
ssh-copy-id username@hostname
ssh -i ~/.ssh/private_key username@hostname
Host myserver
HostName server.example.com
User admin
Port 2222
IdentityFile ~/.ssh/myserver_key
ServerAliveInterval 60
ssh myserver
ssh -L 8080:localhost:80 username@hostname
ssh -R 9000:localhost:3000 username@hostname
ssh -D 1080 username@hostname
ssh username@hostname "command1; command2"
for server in server1 server2 server3; do
ssh admin@$server "sudo apt update && sudo apt upgrade -y"
done
ansible all -m ping
ansible webservers -m apt -a "name=nginx state=present"
禁用密码认证:
# 在/etc/ssh/sshd_config中设置
PasswordAuthentication no
更改默认端口:
Port 2222
限制用户访问:
AllowUsers admin
DenyUsers root
使用防火墙限制IP:
ufw allow from 192.168.1.0/24 to any port 22
定期更新SSH软件包:
sudo apt update && sudo apt upgrade openssh-server
ssh -vvv username@hostname
systemctl status sshd
journalctl -u sshd
telnet hostname 22
nc -zv hostname 22
scp - 安全文件传输
scp file.txt username@hostname:/path/to/destination
scp username@hostname:/remote/file.txt /local/path
rsync - 高效文件同步
rsync -avz /local/dir username@hostname:/remote/dir
sftp - 交互式文件传输
sftp username@hostname
mosh - 移动优化的SSH替代品
mosh username@hostname
通过掌握这些SSH技巧,您可以高效地进行Linux系统运维管理,确保安全可靠的远程访问和操作。