Hshen
人若无名 便可潜心练剑
GitHub Abou byHshen Hshen

ssh 常用命令

2021年12月12日

预计阅读:2min

Sh 执行方式

# 普通执行
sh test.sh
 
# 这种方式需要给文件加上可执行权限(chmod +x test.sh)
./test.sh 

Sh sudo 免输密码

#!/bin/bash
# password要换成你的密码
sudo -S nginx -s reload << EOF
password
EOF

远程(下载||上传)文件

#!/bin/bash
# -r: 递归复制整个目录。
# -P: 注意是大写的P, port是指定数据传输用到的端口号
scp -r <user_name>@<server_ip>:<remote_file_path> <local_file_path>
 
# 复制文件
scp -r root@192.168.1.100:~/test/a.js ~/a.js
 
# 指定ssh端口
scp -P 2222 -r root@192.168.1.100:~/test/a.js ~/a.js

映射本地端口到远程

ssh -Nf -R 2222:127.0.0.1:22 root@<remote address>

SSH password free login

ssh-copy-id root@<remote address>

SSH agent

# 🌰: 有一下三台机器 S1、S2、S3 ===> S1的公钥分别放在了S2和S3上面,当然也可以免密分别登录S2和S3,
# 但是当你从S1登录到S2,如果再想从S2登录到S3是需要密码,因为你S2的公钥没有放在S3上面,不过我们可以让S2充当代理的角色
 
# 方案1编辑本地 ssh_config 将ForwardAgent值设置为yes 表示允许客户端进行转发
vi /etc/ssh/ssh_config 
 
# 方案2
ssh -A root@xxx.xxx.xxx.xxx