使用Ubuntu SSH远程执行命令时,可以采用以下一些技巧来提高效率和安全性:
使用SSH密钥认证:
ssh-keygen -t rsa
ssh-copy-id username@ip_address
ssh -i /path/to/private_key username@ip_address
执行多条命令:
ssh username@ip_address "command1; command2"
保持SSH会话不中断:
nohup
命令:nohup long_running_command &
,这样命令将在后台运行,即使断开SSH连接也会继续执行。tmux
工具,它可以在远程会话中断开后保持会话运行。指定端口号:
ssh -p port_number username@ip_address
交互式命令:
-t
选项显式请求一个TTY:ssh -t username@ip_address "command"
执行远程脚本:
scp username@ip_address:/path/to/local/script.sh /path/to/remote/destination
ssh username@ip_address "/path/to/remote/script.sh"
使用SSH配置文件:
~/.ssh/config
文件来定义连接参数和别名,例如:Host myserver
HostName ip_address
User username
Port 2222
IdentityFile /path/to/private_key
ssh myserver
监控和审计:
/var/log/auth.log
文件以监控SSH登录尝试,并执行失败尝试的审计。使用SSHpass(不推荐):
sshpass
来自动输入密码,但由于安全性问题,不推荐使用。