Skip to content

Latest commit

 

History

History
56 lines (43 loc) · 1.26 KB

ssh.md

File metadata and controls

56 lines (43 loc) · 1.26 KB

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 [email protected]:~/test/a.js ~/a.js

# 指定ssh端口
scp -P 2222 -r [email protected]:~/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 [email protected]