2014-07-17

使用 SCP 指令,讓您傳送檔案至遠端、下載檔案

使用 SCP 指令,讓您傳送檔案至遠端、下載檔案


當我們使用 Linux 系統時,可能需要一些傳送檔案的動作,此時就可以使用 SCP 這個指令,即可不須透過隨身碟等方式,幫你將檔案傳送至另一端 Linux 電腦~

接著我們看看如何使用~~
假設我們有兩台電腦…..

A電腦 IP : 1.1.1.1
B電腦 IP : 1.1.1.2

[上傳]若目前使用A電腦,我們要將 A電腦 某個檔案,傳送至 B電腦 中,可以這麼輸入
scp  [-P  Port]  [-pr]  [-l  速度]  [傳送至遠端的檔案]  [遠端帳號@IP:放置的路徑]
ex.  scp  -P  1234  -pr  /home/user/temp/  test@1.1.1.2:/home/test/test/

[下載]若目前使用A電腦,我們想從 B電腦 某個檔案,下載至 A電腦 中,可以這麼輸入
scp  [-P  Port]  [-pr]  [-l  速度]  [遠端帳號@IP:檔案路徑]  [儲存至本機的路徑]
ex.  scp  -P  1234  -pr  test@1.1.1.2:/home/test/test/  /home/user/temp/

參數說明

[-P  Port]  scp 指令預設是走 22 Port ,若想走其他 Port 可以加入此參數
[-p]  保留原檔案的屬性(權限)資料
[-r]  若要傳送目錄時,要記得家此指令才可以傳送整個目錄
[-l  速度]  限制傳輸速度,單位為  Kbits/s

郵件的傳送流程、MUA、MTA、MDA

郵件的傳送流程、MUA、MTA、MDA


先說明什麼是MUA,MTA與MDA,然後說明信件的傳送流程。

MUA(Mail User Agent):顧名思義,MUA就是“郵件用戶代理”。舉個例子,Windows裏的OutLook Express、Netscape裏的mail功能與KDE裏的Kmail都是MUA。MUA主要的功能就是接收郵件主機的電子郵件,並提供用戶瀏覽與編寫郵件的功能。 MTA(Mail Transfer Agent):MUA是用在Client端的軟件,而MTA是用在郵件主機上的軟件,它也是主要的郵件服務器。MTA就是“郵件傳送代理”的意思,既然是 “傳送代理”,那麼用戶寄信與收信時,都找MTA就對了 MDA(Mail Delivery Agent):“郵件投遞代理”主要的功能就是將MTA接收的信件依照信件的流向(送到哪裏)將該信件放置到本機賬戶下的郵件文件中(收件箱),或者再經由MTA將信件送到下個MTA。了解了MUA,MTA與MDA之後,下面說說如何將信寄出去。可以分爲幾個步驟。

Step 1 用戶利用MUA寄信到MTA。通常我們使用MUA(例如Outlook express)寫信時,要寫明幾個項:
發信人與發信網站:必須有這個信息。發信網站就是下面Step 2接收信件的那個MTA;
收信人與收信網站:以account@e-mail.server 的形式給出,其中,account就是該e-mail.server裏的賬號。      在圖20-1左上角的那臺機器上,也就是“本地客戶端使用的電腦”,利用MUA功能(如Outlook express)寫好信之後,按下MUA的“發送”按鈕,MUA就會依據你所定義的主機地址將信發送到MTA上。

Step 2      MTA收到信件,交由MDA發送到該賬號的MailBox中。如果在Step 1收到的信件中,那個e-mail.server就是MTA自己,此時MTA會將該信件交由MDA處理,將信件放置在收信者的信箱中。

Step 3      MTA將信再轉送出去。如果由Step 1發來的信件的收件人並不是MTA的內部賬號,那麼該信將被再次轉送出去!Step 1及Step 3的動作,我們也稱爲Relay(郵件轉發)功能。

Step 4      遠程MTA收到本地MTA發出的郵件。遠程MTA會收到我們這臺MTA的信件,並將該信件交給它的MDA處理(Step 5),此時,信件會存放在遠程MTA上,等待用戶登錄讀取或下載。
整個發信流程大致就是這樣。
  收信的動作很簡單。不再接受。


郵件在傳輸的時候會使用到 MUA,MTA,MDA這三個角色。他們分別是:

MUA:Mail User Agent ,郵件用戶代理。客戶端用到的軟件,如 mutt,thunderbird,outlook等。

MTA:Mail Transport Agent,郵件傳輸代理。服務器端用的軟件,如 msmtp,postfix,sendmail等。

MDA:Mail Delivery Agent,郵件投遞代理。服務器處理郵件的軟件,有分揀、過濾 的功能,postfix、sendmail都自帶有,也有獨立的procmail。

How to disable IPv6 on CentOS 6.x or Redhat 6.x (RHEL)

Setp 1  Check IPv6 on your CentOS or RHEL Server

$ip addr

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 00:0c:29:8b:33:58 brd ff:ff:ff:ff:ff:ff
inet 192.168.0.111/24 brd 192.168.0.255 scope global eth0
inet6 fe80::20c:29ff:fe8b:3358/64 scope link
valid_lft forever preferred_lft forever

Step 2  Diasble IPv6 on CentOS or RHEL Server

vi /etc/modprobe.d/disable-ipv6.conf

install ipv6 /bin/true

Step3 edit network and disable IPv6

vi /etc/sysconfig/network

NETWORKIING=yes
NETWORKING_IPV6=no
HOSTNAME=localhost.localdomain
GATEWAY=192.168.17.1

Step 4 Check your IP address on your server afrer reboot

$ ip addr

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 12:1b:50:ea:5a:1d brd ff:ff:ff:ff:ff:ff
    inet 192.168.17.41/24 brd 192.168.17.255 scope global eth0

see also How to disable ipv6 on CentOS 5.x