1. 远程连接¶
1.1. 连接远程服务器¶
ssh root@192.168.163.129
1.2. iterm 添加连接文件¶
可以在
~/.ssh/
下面写一个脚本,~/.ssh/server-test
#!/usr/bin/expect -f set user root set host 192.168.1.110 set password 123456 set timeout -1 spawn ssh $user@$host expect "*assword:*" send "$password\r" interact expect eof
iTerm2 的
Profiles
新建一个profile
,Command
里填入expect ~/.ssh/server-test
2. 文件传输¶
2.1. 1、上传本地文件到服务器¶
scp /path/filename username@servername:/path/
例如scp /var/www/test.php root@192.168.0.101:/var/www/
把本机/var/www/
目录下的test.php文件上传到192.168.0.101
这台服务器上的/var/www/
目录中
2.2. 2、从服务器上下载文件¶
下载文件我们经常使用wget,但是如果没有http服务,如何从服务器上下载文件呢?
scp username@servername:/path/filename /var/www/local_dir(本地目录)
例如scp root@192.168.0.101:/var/www/test.txt
把192.168.0.101
上的/var/www/test.txt
的文件下载到/var/www/local_dir
(本地目录)
2.3. 3、从服务器下载整个目录¶
scp -r username@servername:/var/www/remote_dir/(远程目录) /var/www/local_dir(本地目录)
例如:scp -r root@192.168.0.101:/var/www/test /var/www/
2.4. 4、上传目录到服务器¶
scp -r local_dir username@servername:remote_dir
例如:scp -r test root@192.168.0.101:/var/www/
把当前目录下的test目录上传到服务器的/var/www/
目录
3. Bash 脚本连接¶
执行多条命令
#!/bin/bash ssh user@remoteNode << eeooff cd /home touch abcdefg.txt exit eeooff echo done!
#!/bin/bash #变量定义 ip_array=("192.168.1.1" "192.168.1.2" "192.168.1.3") user="test1" remote_cmd="/home/test/1.sh" #本地通过ssh执行远程服务器的脚本 for ip in ${ip_array[*]} do if [ $ip = "192.168.1.1" ]; then port="7777" else port="22" fi ssh -t -p $port $user@$ip "remote_cmd" done