ssh tunnel
$ ssh -NfR 5566:localhost:22 ptchiang@140.113.209.4N : 不執行任何指令
f : 背景執行
R : 主要建立通道參數
5566 : 遠端主機 port
localhost:22 遠端主機要轉送的目的
ptchiang@140.113.209.4 遠端主機登入資訊
遠端主機使用下面指令作登入, wanda 是建立通道主機的使用者帳號
$ ssh wanda@localhost -p 5566
scp 用法
[root@www ~]# scp [-pr] [-l 速率] file [帳號@]主機:目錄名 <==上傳 [root@www ~]# scp [-pr] [-l 速率] [帳號@]主機:file 目錄名 <==下載 選項與參數: -p :保留原本檔案的權限資料; -r :複製來源為目錄時,可以複製整個目錄 (含子目錄) -l :可以限制傳輸的速度,單位為 Kbits/s ,例如 [-l 800] 代表傳輸速限 100Kbytes/s # 1. 將本機的 /etc/hosts* 全部複製到 127.0.0.1 上面的 student 家目錄內 [root@www ~]# scp /etc/hosts* student@127.0.0.1:~ student@127.0.0.1's password: <==輸入 student 密碼 hosts 100% 207 0.2KB/s 00:00 hosts.allow 100% 161 0.2KB/s 00:00 hosts.deny 100% 347 0.3KB/s 00:00 # 檔名顯示 進度 容量(bytes) 傳輸速度 剩餘時間 # 你可以仔細看,出現的訊息有五個欄位,意義如上所示。 # 2. 將 127.0.0.1 這部遠端主機的 /etc/bashrc 複製到本機的 /tmp 底下 [root@www ~]# scp student@127.0.0.1:/etc/bashrc /tmp |
其實上傳或下載的重點是那個冒號 (:) 囉!連接在冒號後面的就是遠端主機的檔案。 因此,如果冒號在前,代表的就是從遠端主機下載下來,如果冒號在後,則代表本機資料上傳啦! 而如果想要複製目錄的話,那麼可以加上 -r 的選項!
ssh 自動登入
Linux Client
1. 先產生認證用的公私鑰 ssh-keygen -t rsa -b 2048。2. 產生的 id_rsa 為私鑰,需留在本機當作開門的鑰匙。
3. 產生的 id_rsa.pub 為公鑰,需放到欲登入的 server 上某帳號的 .ssh 下(如 /home/jerry/.ssh)。
4. 將 .ssh 下的公鑰 id_rsa.pub 改名成 authorized_keys。
5. 修改 /etc/ssh/sshd_config,將 AuthorizedKeysFile .ssh/authorized_keys 前的#拿掉使其可透過 key 認證。
6. 重新啟動 sshd。
7. 注意 .ssh 目錄的權限需為 700 方有作用。
8. 在本機上, ssh jerry@server -i id_rsa 即可自動登入。
Windows Client
1. 先到 Putty 官方網頁 下載 putty, puttygen.exe, pageant.exe2. 在puttygen產生按下[Gererate]產生key, 此時會要求輸入key的Passphrase
3. 完成後(我大概等了3分鐘吧), 複製public key, 然後在要連線主機的 ~/.ssh/ 下建立authorized_keys, 內容剛剛我們複製 public key的內容,記得要把權限改 600
4. 儲存private key在自己的電腦上
5. 接著要設定putty, 在Connection->Data設定連線帳戶名稱
6. 在SSH->Auth 把我們產生的private key讀進來
7. 回到session按下儲存(囧, 我到今天才知道load按鈕是啥>"<)
8. 此時連線的話, 主機仍會要求輸入key的Passphrase... (這叫什麼自動連線啊!!!)
9. 這時我們打開pageant.exe, 然後把我們本機的private key加進來, 此時也會要求輸入key的Passphrase
10. 自動連線吧!!! BOY!!!
11. 把pageant.exe, 還有下面這段bash檔加入啟動中, 大功告成!!!
"YourPath\pageant.exe" YourPath\private_key.ppk
沒有留言:
張貼留言