ssh笔记
1. 免密码登录
主机 host1 希望免密码登录到服务器 server1中.
步骤:
# in host1
# 生成私钥
ssh-keygen -t rsa
# 将公钥复制到服务器中
scp ~/.ssh/id_rsa.pub ubuntu@server1:~/.ssh/tmp_id_rsa.pub
# in server1
# 将公钥追加到授权 key 中
cat ~/.ssh/tmp_id_rsa.pub >> ~/.ssh/authorized_keys
# in host1
# 免密码连接到 server1中
ssh ubuntu@server1
2. 使用代理
参考: ssh over socks5
3. 内网穿透
参考: 使用SSH反向隧道进行内网穿透
4. 维持心跳
客户端维持心跳的方法是, 在/etc/ssh/ssh_config
中设置TCPKeepAlive yes
, ServerAliveInterval 300
, 然后重启.
也可以在ssh
命令中添加参数: ssh -o TCPKeepAlive=yes -o ServerAliveInterval=300 ubuntu@server
5. 断点续传
参考: scp 断点续传
rsync -P --rsh=ssh your.file remote_server:/tmp/
6. 硬件相关
根据How to change LCD brightness from command line (or via script)? , 可通过以下命令设置屏幕亮度:
echo 400 | sudo tee /sys/class/backlight/intel_backlight/brightness
省电模式:
echo 0 | sudo tee /sys/class/backlight/intel_backlight/brightness
亮度最大值为
cat /sys/class/backlight/intel_backlight/max_brightness
7. 文件传输
使用功能:
- rsync传输后删除源文件
- 遍历列表
- tar解压缩到指定目录
# collect file
servers=( "1.abc.com" "2.abc.com" "3.abc.com" )
for i in "${servers[@]}"
do
echo $i
rsync -avz --remove-source-files root@$i:/opt/data/*.tar.gz /opt/data/
done
# extract file
for filename in /opt/data/*.tar.gz; do
echo "$filename"
tar -xzvf "$filename" -C /opt/data/extract/ && rm "$filename"
done