mac 怎麼登錄到 linux 伺服器並傳輸文件?
我們系裡伺服器,我是學物理的。在windows 我用ssh secure shell client連接到伺服器可以提交matlab ,fortran 什麼讓伺服器算。ssh secure shell client或者winscp還可以在我的電腦和伺服器之間進行文件傳輸。我想問下在mac下怎麼辦?
連過去不是問題,自帶的 Terminal 太挫,裝個iterm,ssh 過去就可以了咩.
題主真正的麻煩將會是傳文件,這也是讓很多人蛋疼的問題.
先說簡單實用的方法:- 用sz / rz ,伺服器不需要任何配置,lrzsz可以用 homebrew安裝,然後: 在iTerm2中使用Zmodem的方法 ? OpenExz
- 用 ftp 適合傳大一些的文件,https://gist.github.com/dawn110110/8184061 這是一個ftp伺服器(pyftpd搞的),只有一個文件,沒有任何依賴,你nohup python pyftp.py 一下就跑起來了,記得自己在代碼里加用戶. 當然,你也可以在伺服器端搞一個 vsftpd 啥的,不過顯然比這個麻煩.
- 然後 scp / nc / rsync,scp在一頭直接用,那倆需要兩頭搞,有空再補具體用法。
大殺器 svn hook / git hook (參考:Horizon 地平線 - Git hooks 簡介 以及 SegmentFault 以及 Git - Git Hooks) ,自己搞文件同步.
- 我心中 最完美的方案 ,就是用 githooks + scp / ftp 搞一個自動同步,你可以本地用git 管理文件,然後設定 githooks,讓你每次 本次 ci 都調一個腳本,用scp / ftp / pexpect 或者什麼玩意,把本地文件弄到伺服器指定位置上. 自動同步了有木有?(記得 linux建立ssh信任關係,這樣scp就不用輸入密碼了,當然你也可以設定成用pexpect之類的東西來處理密碼)這個方法的好處是,可定製性超級強,而且真的是自動的,而且,伺服器端幾乎不需要任何配置. 唯一蛋疼的地方就是你需要自己學一下 git 和 githooks 怎麼用.
- 還有一個沒那麼好的辦法,你也可以自己搭個 svn 伺服器,自己加上 svn hook,自己本地修改文件,加上 hook 讓提交後,直接自動在你的伺服器某個地方 svn up. 當然,你也可以不用 svn hook,而是登上去之後 手動 svn up. 如果你不喜歡 git 可以這麼弄.
- 還有一個叫 samba 的蛋疼的東西,在windows上使更合適。有興趣可以折騰一下。
其實我真想說,git hooks 真的能拯救世界啊.
最後,題主日後肯定會遇到多個ssh session 多個終端窗口蛋疼的問題,我推薦用 tmux,當然你也可以用 screens, 下面是我的 tmux 配置,一個非常簡單的配置,但是挺好用.
效果圖:
用法:tt 進入到 tmux 里. ctrl + J 退出 tmux (保留各個session). shift + 左 左邊走你,shift + 右,右邊走你. shift + 下 新建 走你. 配置文件:==== ~/.tmux.conf 內容=====
# detach session
bind-key -n C-j detach
# new window shift + 下 新建 window
bind -n S-down new-window
# prev shift + &<- 前一個 window
bind -n S-left prev
# next shift + -&> 後一個 window
bind -n S-right next
# history limit
set -g history-limit 50000
# bottom color 底部背景(青)
set -g status-bg colour6
# active window title background 底部active window 背景(紅)
set-window-option -g window-status-current-bg color53
==== ~/.bashrc 內容===
#tmux alias
alias tt="tmux attach」 # tt attach 進入 tmux
alias lll="tmux ls」 # 列出所有 session
alias tls="tmux ls」 # 一樣
祝樓主越折騰越開心.
沒用過 ssh secure shell client 和 winscp,猜測這兩個客戶端都有圖形界面可供上傳文件到伺服器?我沒用過相關的 Mac 版的圖形界面程序,這裡介紹一下兩個基礎命令。
如果不介意脫離圖形界面使用命令行,可以用 Mac 自帶的 Terminal.app。登錄到伺服器:$ ssh user@remote
如果你沒配置過 ssh key,一般會問你要密碼,輸入密碼即可,注意輸入的時候不像平常密碼輸入框,是沒有提示的。登錄上去之後,建議配置一下 ssh key,方便後續操作。參考 How To Set Up SSH Keys
上傳文件也是如此,有多種復用 SSH 協議的上傳文件途徑,最基本的是 scp:$ scp ~/local/file user@remote:~/file
左邊參數是你 Mac 電腦里想要上傳的文件路徑,右邊是伺服器上的路徑。如果沒配置 ssh key,會提示你輸入密碼,照辦就是。
可以 man scp 查看 scp 的詳細說明。支持ssh的機器通常支持sftp
Mac的terminal裡面就有ssh吧?傳文件直接scp不就搞定了。就這麼兩個命令啊。
sshsftprsync
上傳下載文件可以用filezilla 這個有mac版本的
懶的話用sshfs,把對方文件系統直接掛載過來,然後直接拖文件
1.在linux伺服器查看ssh服務是否正在運行:ps -e | grep ssh
2.如果沒有運行:service sshd start
3.向linux伺服器傳輸文件: scp -r 本地目錄 linux用戶名@ip地址:目標路徑
My answer might came late. But you can check this out, Is there a (free) graphical SSH file transfer client for Mac?. I tried Fugo, it works well.
On MAC
brew updatebrew install Caskroom/cask/osxfuseReboot
brew install homebrew/fuse/sshfsmkdir ~/localdirsshfs -C -o reconnect user@host:dir ~/localdirreference: osx - What"s a good graphical SFTP utility for OS X?
my first choice:
Fugu for Mac
http://www.macupdate.com/app/mac/8761/fuguI also have used Cyberduck on mac, it works ~Cyberduck 好用且快。
sshfs+osxfuse誰用誰知道,支持掛載,適合內網或虛擬機同步、開發,如果需要部署結合ssh,如果remote嫌速度慢了,就用Cyberduck ,掛載即將支持,或者用FileZilla。以上推薦全部正版免費開源。
Cyberduck 小黃鴨。
用 lrzsz
鏈接:
mmastrac/iterm2-zmodem
用法:
- Install lrzsz on OSX: brew install lrzsz
- Save the iterm2-send-zmodem.sh and iterm2-recv-zmodem.sh scripts in /usr/local/bin/
- Set up Triggers in iTerm 2 like so:(iTerm2-Preferences-Profiles-Default or New-Advanced-Triggers-按下述填寫即可)
Regular expression: rz waiting to receive.**B0100
Action: Run Silent Coprocess
Parameters: /usr/local/bin/iterm2-send-zmodem.sh
Instant: checked
Regular expression: **B00000000000000
Action: Run Silent Coprocess
Parameters: /usr/local/bin/iterm2-recv-zmodem.sh
Instant: checked
To send a file to a remote machine:
- Type rz on the remote machine
- Select the file(s) on the local machine to send
- Wait for the coprocess indicator to disappear
The receive a file from a remote machine
- Type sz filename1 filename2 … filenameN on the remote machine
- Select the folder to receive to on the local machine
- Wait for the coprocess indicator to disappear
往伺服器上傳文件還有一個圖形界面的軟體(Mac上):Filezilla,也很好用。
ssh與ftp都沒整好,我是從win7連linux伺服器,最後我是用的github做中轉,只能這樣了~~git-ssh 配置和使用你可能需要這個。。
我的日常文件同步(包括兩台伺服器、手機、平板、路由器)均採用ssh。哈哈哈偶爾會用別的。這裡還是建議一下使用rsa密鑰。。方便很多的
彷彿可以把遠程目錄掛載到本地吧。掛載好後,就跟使用本地目錄一樣。
scp啊scp啊scp啊scp啊scp啊scp啊scp啊scp啊
推薦閱讀: