使用SSH远程执行CentOS命令时,可以采用以下技巧来提高效率和安全性:
ssh-keygen -t rsa -b 4096
ssh-copy-id user@remote_host
~/.ssh/config
文件中添加别名,简化命令输入:Host myserver
HostName remote_host
User username
IdentityFile ~/.ssh/id_rsa
ssh myserver
ssh -L local_port:localhost:remote_port user@remote_host
ssh
和xargs
或parallel
工具批量执行命令:ssh user@remote_host "ls /path/to/directory" | xargs -I {} ssh user@remote_host "command_on_each_file {}"
或者使用parallel
:ssh user@remote_host "ls /path/to/directory" | parallel -j 4 ssh user@remote_host "command_on_each_file {}"
ssh -L 8080:localhost:80 user@remote_host
这样可以在本地通过http://localhost:8080
访问远程服务器上的80端口服务。~/.ssh/config
文件中配置多个主机和选项,方便管理和使用:Host server1
HostName server1.example.com
User user1
Port 2222
Host server2
HostName server2.example.com
User user2
Port 2222
ssh -o ServerAliveInterval=60
选项来保持连接活跃,防止因长时间无活动而被断开:ssh -o ServerAliveInterval=60 user@remote_host
ssh -M -S ~/.ssh/ssh_multiplexing user@remote_host
并在~/.ssh/config
中启用:Host *
ControlMaster auto
ControlPath ~/.ssh/sockets/%r@%h:%p
ControlPersist 1h
#!/bin/bash
for host in server1 server2; do
ssh user@$host "backup_script.sh"
done
ssh -o StrictHostKeyChecking=no
来避免首次连接时的确认提示(不推荐在生产环境中使用):ssh -o StrictHostKeyChecking=no user@remote_host
通过这些技巧,你可以更高效、更安全地使用SSH远程执行CentOS命令。