❶ 如何在iterm2中設置自動遠程登錄
當然,OS X上的終端可以使用iterm2,這樣配置後便利性不比$99的secureCRT差
首先介紹下不通過跳板機進行登錄的方式,准備:
1. 寫一個expect腳本
#!/usr/bin/expect
set timeout 30
spawn ssh [lindex $argv 0]@[lindex $argv 1]
expect {
"(yes/no)?"
{send "yes\n";exp_continue}
"password:"
{send "[lindex $argv 2]\n"}
}
interact
該腳本比較簡單,需要三個參數,第一個參數是遠程用戶名,第二個參數是遠程地址,第三個參數是密碼
2. 將expect腳本到$PATH下(例如/usr/local/bin)
3. 在iterm2中設置登錄命令為1中的腳本,用command+o的方式呼出profiles,點擊Edit Profiles
上面是已配置的遠程登錄機列表,雙擊可以自動登錄
如上圖配好後,即可自動登錄
下面再說下有跳板機的情況
俺公司的跳板機策略如下,不同公司的環境不一樣,也許某些同學可以進行參考
1.跳板機上不能存放任何文件,/tmp下可以方臨時文件,每天會定時清掉
2.文件方向只能是local->跳板機->remote的方向,即local可以push/pull跳板機上的文件,跳板機可以push/pull遠程上的文件
3.向跳板機登錄前需要通過郵件/簡訊的方式獲取passcode,這是除密碼之外的額外的驗證方式
其實跳板機的自動遠程登錄與非跳板機的差異在expect腳本的編寫上,其他的照搬即可,那這里就直接把代碼貼出來就行了
#!/usr/bin/expect
# 參數1:遠程host;參數2:遠程password
if { $argc != 2 } {
send_user "Usage: host password\n"
exit
}
set host [lindex $argv 0]
set pw [lindex $argv 1]
set TERMSERV yourjumpserver # 跳板機伺服器
set USER jumpserveruser # 用戶名
set PASSWORD jumperserverpasswd # 跳板機密碼
set fd [open /place/to/passcode r] # 本地存放passcode的地方
gets $fd pc
close $fd
# Start the session
catch {spawn ssh -l $USER $TERMSERV} # 登錄跳板機
# Login
expect "*assword:*" { send "$PASSWORD\r" }
expect "*passcode:*" { send "$pc\r" }
#通過跳板機登錄線上機器
expect "*hostname*" { send "ssh -l $USER $host\r" } # hostname為你跳板機的名字
expect {
"(yes/no)?"
{send "yes\n";exp_continue}
"*assword:*"
{send "$pw\n"}
}
expect "*$host*" { send "cd ~\r"; interact }
❷ 怎樣把多台電腦連接在一個伺服器上
首先需要一個hub或路由器或交換機,伺服器需要兩張網卡.以下成為網卡1與網卡2
線路連接:
1),網路主線(一般是從貓上下來的那根網線)連接伺服器網卡1
2),用網線連接網卡2與hub.
3),hub其他口連接其他機器的網卡
網路設置(這里介紹一種具體的方法)
1),主機ip設置為192.168.1.1
2),其他機器ip設置為192.168.1.5-192.168.1.254
3),其他機器的網關\nds伺服器設置為192.168.1.1
最後運行一下網路連接向導,可以根據提示很簡單的完成.注意其中有一步是填寫工作域,所有機器必須相同,否則在區域網上不能互相看到.
❸ mac用iterm2實現ssh,怎麼像SecureCRT一樣鍵P和賬號密碼
Mac下配置iterm2記住多站點ssh帳號密碼
首先,需要自己安裝一下iterm2,
打開iterm2官網後,點擊Download下載並且安裝。
安裝完畢後,第一步,打開終端,連接你需要添加的vps伺服器,命令格式如下:
ssh root@ip // ssh 用戶名@網址或者ip
第一次連接會有一個安全提示,輸入yes回車,然後control + c取消(輸入密碼那一步),如下圖:
上面這一步主要是因為在iTerm2裡面如果第一次連接沒有保存key到電腦的話你輸入yes也不行,只能先通過終端保存一次。
接著繼續在終端配置需要管理的vps的ssh信息,輸入下面的命令
vim expect ~/.ssh/myvps1 //myvps1可以修改為你自己想要的名字
接著會進入VI編輯界面,英文狀態下輸入i,然後粘貼下面這一段話後編輯對應的內容。
#!/usr/bin/expect -f
set user <用戶名>
set host <ip地址>
set password <密碼>
set timeout -1
spawn ssh $user@$host
expect "*assword:*"
send "$password\r"
interact
expect eof
編輯掉裡面對應的地方後,按ESC鍵,然後英文狀態下輸入:wq
然後你就會新建一個名字為myvps1的文件。
如果你有多個伺服器需要添加,請輸入下面的命令
cp myvps1 myvps2
vim myvps2
i
編輯對應的內容
ESC
:wq
這樣你就又新建了一個myvps2的文件。
接下來對iTerm2進行設置。
在頂部菜單欄裡面點擊iTerm2-preferences(快捷鍵是Command+,)
接著選擇Profiles,點擊左下角的+號新建一個配置,右邊紅框標注出來的地方,Name處填寫一個用於區分的名字,Command處輸入expect ~/.ssh/myvps1
如果你要添加多個伺服器的配置,只需要修改Command命令的文件名字就行了。
以後打開iTerm2後,直接在菜單欄點擊Profiles就可以看到你添加的VPS配置,直接點擊需要連接的VPS名字,就可以打開對應的VPS進行ssh連接了,並且不需要密碼。
❹ 怎麼把2台伺服器連接在一起使用
可以用周一個IP的不同埠啊.
比如閣下公網IP是111.222.121.232,可以將80埠映射到內網舊的伺服器(比如是192.168.1.1),將8080埠(這隨便寫的,埠有65536個,一般高埠是沒有人用的.)新的伺服器(比如是192.168.1.10).這樣,在公網訪問網頁時自動轉到192.168.1.1這台伺服器上,(網頁服務默認埠是80的,所以訪問默認的網頁就不會打埠了.)如果111.222.121.232:8080,就訪問到192.168.1.10這台新伺服器上了.
閣下明白了嗎?
http://111.222.121.232:80 ------->192.168.1.1
http://111.222.121.232:8080------>192.168.1.10
❺ 一個固定IP,兩台伺服器,伺服器之間怎麼通信且外網要都能遠程這兩台伺服器
我說一種最簡單的方法:
1、路由上映射80以及遠程埠給Web伺服器的80和遠程埠。
2、路由上映射其他埠(如4489)給資料庫伺服器的遠程埠。
這樣就解決了2台伺服器都需要遠程登陸的問題了。
3、這2個機器,默認應該是走的內網路由方式連接,你就用內網IP把他們連接起來。
❻ 如何通過一個公網固定IP訪問內網2台以上的伺服器
如圖中所示,R1和R2模擬成兩台伺服器並且提供相同的服務(地址分別為172.16.1.1 ,172.16.1.2),R3是交換機,R4是邊界路由器也就是內部伺服器的網關所在路由器(內網口地址為172.16.1.254 ),R5充當公網並且有環回口5.5.5.5,在R4上的E0/0(地址為222.222.222.1) 介面開啟PAT,使得內網伺服器可以訪問外網R5的 5.5.5.5
如圖:
這時就進入關鍵性階段了,1:寫一條ACL來匹配公網路由,access-list 2 permit 222.222.222.1
2:定義一個以內部伺服器為地址的池:ip nat pool ccna 172.16.1.1 172.16.1.2 netmask 255.255.255.0 type rotary (最後這兩個一定要有意思就是讓這些地址輪循)
3:將ACL跟地址池關連起來:ip nat inside destination (注意這個不是source) list 2 pool ccna
最後就是在R1,R2的line vty 0 4 下打no login 允許外網的登陸。
這時可以檢驗結果了,,在R5上telnet 222.222.222.1 可以發現第一次時進入R1,第二次就進入R2了,
這 樣就達到了兩個伺服器的負載均衡了。。當然這種情況是在多個伺服器提供相同的服務的前提下才好用。
但是對於內部有多台伺服器要同時開放一個相同的埠但是又只有一個公網IP時該怎麼辦呢?
圖中標出了拓撲的詳細結構,伺服器地址分別為172.16.1.2 和172.16.1.3 ,網關為172.16.1.1 ,然後同樣的跟上邊一個實驗一樣,在邊界路由器做基於介面的PAT轉換,使得伺服器可以訪問公網,然後我們就開始在邊界路由器上配置埠跟ip地址的映射,通常情況下我們都認為映射是這樣寫: ip nat inside source static tcp 172.16.1.2 80 222.222.222.1 80 然後會發現下一台伺服器沒法再做相同埠的映射了,,因此我們就必需改變上面的命令來使得另一台伺服器也可以基於80埠的映射:這進命令就可以改成:ip nat inside source static tcp 172.16.1.2 80 222.222.222.1 100 與
ip nat inside source static tcp 172.16.1.3 80 222.222.222.1 101 這樣的兩條映射。。那麼這樣寫的映射是否真的可行呢?那就讓我們一起來檢驗下成果,首先必需在兩台伺服器上面的HTTP上面寫上一些內容以做為區分。。
最後就是在最右邊的PC上邊打開WEB頁面,輸入地址:222.222.222.1:100 就會看到這個現象,,
說明我們己經可以訪問內部的一台伺服器了。
然後再輸入:222.222.222.1:101 可以看到有
仔細看地址下面的字母兩次登陸時結果是不一樣的。。。這就說明我們可以利用這一個公網IP來映射多個內網的伺服器了。。
❼ mac下 iTerm2使用技巧
首先要比windwos下的shell terminal好看,這樣你才有動力,配色可以是Solarized或者是別的什麼,然後半透明,貼著屏幕上邊沿,然後設置一個快捷鍵呼出、隱藏。
最後,Windows 下的secureCRT和xshell支持rz和sz,雖然Linux下的scp會比rz和sz方便快捷,但是可能並不是直連伺服器,要經過堡壘機,因此scp就不適用了,此時需要通過rz和sz以輸入輸出的方式進行文件傳輸。
需要先安裝lrzsz,推薦用homebrew,可以直接brew install lrzsz
然後將iterm2-recv-zmodem.sh 和 iterm2-send-zmodem.sh腳本保存到 /usr/local/bin/
#!/bin/bash
# iterm2-recv-zmodem.sh
FILE=`osascript -e 'tell application "iTerm" to activate' -e 'tell application "iTerm" to set thefile to choose folder with prompt "Choose a folder to place received files in"' -e "do shell script ("echo "&(quoted form of POSIX path of thefile as Unicode text)&"")"`
if [[ $FILE = "" ]]; then
echo Cancelled.
# Send ZModem cancel
echo -e \x18\x18\x18\x18\x18
echo # Cancelled transfer
echo
else
echo $FILE
cd "$FILE"
/usr/local/bin/rz
echo # Received $FILE
echo
fi
#!/bin/bash
# iterm2-send-zmodem.sh
FILE=`osascript -e 'tell application "iTerm" to activate' -e 'tell application "iTerm" to set thefile to choose file with prompt "Choose a file to send"' -e "do shell script ("echo "&(quoted form of POSIX path of thefile as Unicode text)&"")"`
if [[ $FILE = "" ]]; then
echo Cancelled.
# Send ZModem cancel
echo -e \x18\x18\x18\x18\x18
echo # Cancelled transfer
echo
else
echo $FILE
/usr/local/bin/sz "$FILE"
echo # Received $FILE
echo
fi
最後打開iTerm的Preferences,或者使用 command + , ,點進Profiles項,Advanced項,進入Tirggers,點擊Edit,添加兩條規則:
Regular expression: rz waiting to receive.**B0100
Action: Run Silent Coprocess
Parameters: /usr/local/bin/iterm2-send-zmodem.sh
Regular expression: **B00000000000000
Action: Run Silent Coprocess
Parameters: /usr/local/bin/iterm2-recv-zmodem.sh
至此,iterm2已經基本順手了,當然可能有同學說secureCRT和xshell可以保存連接信息、開代理,保存連接信息可以通過配置ssh config的alias來實現,但是大多數情況下有堡壘機的存在,所以就不常用了,而開socks代理可以通過ssh -N -f -D實現。
常用快捷鍵
⌘ + Click :可以打開文件,文件夾和鏈接
⌘ + n :新建窗口
⌘ + t :新建標簽頁
⌘ + w :關閉當前頁
⌘ + 數字 & ⌘ + 方向鍵 :切換標簽頁
⌥⌘ + 數字 :切換窗口
⌘ + enter :切換全屏
⌘ + d :左右分屏
⇧⌘ + d :上下分屏
⌘ + ; :自動補全歷史記錄
⇧⌘ + h :自動補全剪貼板歷史
⌥⌘ + e :查找所有來定位某個標簽頁
⌘ + r & ⌃ + l :清屏
⌘ + / :顯示游標位置
⌥⌘ + b :歷史回放
⌘ + f :查找,然後用 tab 和 ⇧ + tab 可以向右和向左補全,補全之後的內容會被自動復制, 還可以用 ⌥ + enter 將查找結果輸入終端
選中即復制,滑鼠中鍵粘貼
通用的Linux shell快捷鍵
⌃ + u :清空當前行
⌃ + a :移動到行首
⌃ + e :移動到行尾
⌃ + f :向前移動
⌃ + b :向後移動
⌃ + p :上一條命令
⌃ + n :下一條命令
⌃ + r :搜索歷史命令
⌃ + y :召回最近用命令刪除的文字
⌃ + h :刪除游標之前的字元
⌃ + d :刪除游標所指的字元
⌃ + w :刪除游標之前的單詞
⌃ + k :刪除從游標到行尾的內容
⌃ + t :交換游標和之前的字元
❽ 怎麼管理多台伺服器上的文件呢
有兩種方法,一種是直接下載iis7遠程桌面管理工具,把三台伺服器都連上再映射本地硬碟就可以了。
第二種方法:
首先,要伺服器開啟遠程桌面連接:
計算機---屬性---遠程設置---勾選「允許運行任意版本遠程桌面的計算機連接(較不安全)」
接下來是調整超過2個連接數的的設置方法:需要安裝終端伺服器(未測試)
第一步.在開始->運行命令欄中輸入 gpedit.msc
在組策略中依次打開「計算機配置→策略→管理模板→Windows 組件→遠程桌面服務→遠程桌面會話主機→連接」中,選擇「限制連接數量」進行配置。
第二步.在角色里增加遠程桌面服務。
右擊我的電腦,選擇管理,在伺服器管理→角色中添加遠程桌面角色,一直下一步,然後重啟伺服器。