Exploring and Thinking

顯示具有 Linux 標籤的文章。 顯示所有文章
顯示具有 Linux 標籤的文章。 顯示所有文章

Passwordless scp file to Synology NAS

Synology 要先開啟ssh與home directory功能。

前往homes目錄

cd /var/services/homes

將該使用者的目錄權限設為755。(原本是777,底下以bkuser帳號為例)

chmod 755 bkuser

在帳號的home上新增.ssh目錄

mkdir ~/.ssh/

目錄權限設為700

chmod 700 ~/.ssh/

編輯 /etc/ssh/sshd_config 檔案,將參數改為下方數值

RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile  .ssh/authorized_keys

在來源主機產出key (詢問通通按enter)

ssh-keygen -t rsa

查詢是否產生成功

$ cd ~/.ssh
$ ll
total 12
-rw------- 1 user user 1679 Jun  2 15:02 id_rsa
-rw-r--r-- 1 user user  391 Jun  2 15:02 id_rsa.pub

接著將id_rsa.pub檔案scp到NAS

scp ~/.ssh/id_rsa.pub bkuser@192.168.20.102:~/.ssh

在NAS裡,把id_rsa.pub內容加進同一層目錄的authorized_keys檔案中

cat id_rsa.pub >> authorized_keys

authorized_keys檔權限要設為644
chmod 644 authorized_keys

來源主機使用scp,會在.ssh目錄多一個known_hosts的檔案,之後就不會再詢問密碼了!
Share:

Linux備份檔案至Nas

這個範例是將Linux系統內的檔案,備份至Nas系統。

採取的方式是每天固定時間抓取Linux檔案,使用copy方式至Nas。

bash檔特殊的地方,主要是第五行和第六行,分別取得當天的日期和星期,格式單純數字化(大Y指四位數年份)。

因Linux每天將產生的檔案,分別放在0~6的資料夾內,代表星期日~星期六。因此我做一個迴圈判斷式,若今天是星期一,bkDateW=1,則會抓取資料夾"1"內的檔案。

抓到資料後,將檔案複製到Nas,檔名前面加日期"$bkDate"。
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#!/bin/bash
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
export PATH
 
bkDate=$(date --d="today" +%Y%m%d) # Get the date of today, format: 20120316
bkDateW=$(date --d="today" +%w) # Get the date of week, format: 5
 
# Copy and rename files to Nas.
case $bkDateW in
 
        "0")
        cp file/0/testFile bkEMtemp/"$bkDate"_testFile
        ;;
 
        "1")
        cp file/1/testFile bkEMtemp/"$bkDate"_testFile
        ;;
 
        "2")
        cp file/2/testFile bkEMtemp/"$bkDate"_testFile
        ;;
 
        "3")
        cp file/3/testFile bkEMtemp/"$bkDate"_testFile
        ;;
 
        "4")
        cp file/4/testFile bkEMtemp/"$bkDate"_testFile
        ;;
 
        "5")
        cp file/5/testFile bkEMtemp/"$bkDate"_testFile
        ;;
 
        "6")
        cp file/6/testFile bkEMtemp/"$bkDate"_testFile
        ;;
esac

接著我用root去vi rc.local(一般位在/etc/rc.local, 找不到可使用 find / -name rc.local 指令尋找),mount 資料夾 bkEMtemp。在此之前需先建一個資料夾,如本例的bkEMtemp,再chmod 777 (設定權限)。

這樣每次重開機進來時,系統就會將nas資料夾mount進來。

1
mount -t cifs //nas的ip/資料夾 /home/帳號/bkEMtemp -o user=account,pass=password

最後在原本的帳號,輸入「crontab -e」,將排程放進去,此例是每天下午四點半執行bkEM.sh。

bkEM.sh也需設定權限,chmod 755才行喔!
1
30 16 * * * /home/帳號/bkEM.sh

Share:

解決 ssh 登入 Linux 主機需等待的問題

使用root登入,在 /etc/ssh/sshd_config 內,搜尋 UseDNS 。

接著會看到 #UseDNS yes 的設定,只要將前面的mark #符號拿掉、將 yes 改為 no,重啟sshd即可 (指令 service sshd restart)。

我的作法是會在原本設定下方直接加一行 UseDNS no ,不改原有的參數。如果嫌麻煩的話,不用管順序,直接在裡面找地方加這行參數即可!
Share:

熱門文章