參考文件
- pinfo ssh-keygen
- Linux 伺服器安全防護 (O'REILLY, ISBN: 986-7794-18-4)
多年前 telnet 當道,但在安全意識漸漸浮上檯面之後,telnet 在登入時的安全就被大家質疑,後來 ssh (Secure Shell)
出現時,改變了當初的習慣,大家在管理 Linux 時,現在都使用 ssh 來登入,而 ssh 好處我在這也不再多做說明,因為他還可以配合 rsync
做出遠端備份,一旦設定好 ssh 之後,還會有 scp 可以使用!這樣就可以在不同電腦間 copy 檔案,並且為傳輸的資料加密了!
Shell Script & ssh
自動化的工作可以讓管理員有效率的完成目標,也不用浪費人力和時間做同樣的事情,在無人職守的情況下,要讓 script 自動連入遠端系統做事是件有些麻煩的事,因為您必需登入系統才可以繼續工作,為了不略過登入系統這個步驟,我們可以製做一個
public key 讓遠端的機器信任我們,如此就只要直接連入就可以,而不用再輸入帳號和密碼。
製作 public keys & private keys
利用 ssh-keygen 來做出公用和私有鑰匙,並傳送 public key 到遠端機器使其信任本機登入。
[steven@cute steven]$ ssh-keygen -t dsa
Generating public/private dsa key pair.
Enter file in which to save the key (/home/steven/.ssh/id_dsa):
Enter passphrase (empty for no passphrase): <- 不用輸入
Enter same passphrase again: <- 不用輸入
Your identification has been saved in /home/steven/.ssh/id_dsa.
Your public key has been saved in /home/steven/.ssh/id_dsa.pub.
The key fingerprint is:
fa:c9:a9:e4:d5:70:52:88:cc:f3:25:fd:68:ae:c4:4b steven@cute.com.tw
[steven@cute steven]$ |
接著,再到 /home/steven/.ssh 裡看看,會多出 id_dsa 和 id_dsa.pub 這兩個檔案。
[steven@cute steven]$ cd .ssh
[steven@cute .ssh]$ ls
id_dsa id_dsa.pub known_hosts
[steven@cute .ssh]$ |
現在我們要使遠端機器 mirror.abc.com,使用 sandy 登入時不用輸入密碼,因為,我們應該複製一份 id_dsa.pub
到 sandy@mirror.abc.com 去,並加入到 authorized_keys。
[steven@cute .ssh]$ scp id_dsa.pub sandy@mirror.abc.com:~/id_dsa_steven.pub
sandy@mirror.abc.com's password:
id_dsa.pub 100% |*****************************| 607 00:00
[steven@cute .ssh]$ |
登入 sandy@mirror.abc.com
[steven@cute .ssh]$ ssh sandy@mirror.abc.com
sandy@mirror.abc.com's password:
-bash-2.05b$ ls id_dsa_steven.pub
id_dsa_steven.pub
-bash-2.05b$ cat id_dsa_steven.pub >> .ssh/authorized_keys
-bash-2.05b$ exit |
完成後離開,回到本機,再做一次 ssh 到 mirror.abc.com
[steven@cute .ssh]$ ssh sandy@mirror.abc.com
-bash-2.05b$ |
如此就不用輸入密碼就直接登入了!
保護你的私有金匙
在製做 dsa key 時,會有一份私有和一份公有金匙,實務上會保留起來,並做備份,因為當 ssh 在登入時,會使用 id_dsa.pub
和本機的 id_dsa 做確認,因此如果這兩者比對不成功時就會再次要求輸入密碼。
posted on 2008-11-19 19:16
Blog of JoJo 阅读(373)
评论(1) 编辑 收藏 所属分类:
Linux 技术相关