快速登錄vsftpd的expect腳本
[root@canal ~]# cat /usr/bin/ftp-login.expect
#!/usr/bin/expect
set timeout 30
spawn ftp 公網IP/內網IP 5xxx7
expect "Name 192.168.xx.xx:root): "
send "ftpuser\r"
expect "Password:"
send "ftppasswd\r"
expect "ftp> "
#send "cd ops\r"
send "ls\r"
interact
=========
chmod 775 /usr/bin/ftp-login.expect
注意:
可能會需要安裝expext命令,yum -y install expect
手動登錄一遍ftp ,以爲可能是服務器中英文的關係,有的地方需要手動改成適配的。
比如這個expect "Password:",en 的字符集是這樣的顯示,可是個別的系統安裝時可能選的是中文,
那這裏顯示就是 "密碼" ,如果不改就適配不上。
spawn 是你要幹什麼事
expect 是需要匹配的內容
send 是匹配到了,要幹什麼事情。
上面是主要部分,下面是執行部分。
[root@canal ~]# cat .bashrc
alias ftplogin="/usr/bin/expect /usr/bin/ftp-login.expect"
alias list="cat /etc/motd"
效果:
motd 文件是歡迎頁面,每次登陸進來都會顯示,
另外因爲已經做了別名alias了,所以直接輸入ftplogin就會登陸ftp
list 的名字只是用於自己記憶,因爲有時候自己可能忘記了,
下面是我的匹配內容,敏感信息會打碼
FileZilla 登陸截圖:
下一遍文章結合vsftpd 上傳和nginx 作爲PCweb下載,覺得有用的可以再博客裏找下。
目的是:
網絡原因可能使用ftp客戶端下載特別慢。而有一個小白根本不會用,所以只給他們一個網址就好了,
因爲網址下載走的是你本地的網速,相比較轉了N手的下載還是蠻快的。