SSH
[TOC]
什么是SSH Key兵迅?
SSH全稱Secure SHell
,即十分安全的Shell,是IETF(Internet Engineering Task Force)的Network Working Group所制定的一種協(xié)議,用來取代傳統(tǒng)的telnet和R系列命令(rlogin,rsh,rexec等)遠(yuǎn)程登陸和遠(yuǎn)程執(zhí)行命令的工具,實現(xiàn)對遠(yuǎn)程登陸和遠(yuǎn)程執(zhí)行命令加密盹靴。防止由于網(wǎng)絡(luò)監(jiān)聽而出現(xiàn)的密碼泄漏,對系統(tǒng)構(gòu)成威脅瑞妇。
SSH協(xié)議目前有SSH1稿静、SSH2兩個版本,SSH2兼容SSH1辕狰,目前的實現(xiàn)主要有
OpenSSH 由 OpenBSD組織 開發(fā) 免費軟件
SSH Communications 由 SSH Communications Security Corporation 開發(fā) 商業(yè)軟件
OpenSSH 因為免費改备,所以廣泛使用于開源系統(tǒng)中,如Linux蔓倍,其軟件組成為
sshd ——SSH服務(wù)端程序
sftp-server ―― SFTP服務(wù)端程序(類似FTP但提供數(shù)據(jù)加密的一種協(xié)議)
scp ―― 非交互式sftp-server的客戶端悬钳,用來向服務(wù)器上傳/下載文件
sftp ―― 交互式sftp-server客戶端盐捷,用法和ftp命令一樣。
slogin ―― ssh的別名
ssh ―― SSH協(xié)議的客戶端程序默勾,用來登入遠(yuǎn)程系統(tǒng)或遠(yuǎn)程執(zhí)行命令
ssh-add ―― SSH代理相關(guān)程序碉渡,用來向SSH代理添加dsa key
ssh-agent ―― ssh代理程序
ssh-keyscan ―― ssh public key 生成器
什么是 known_hosts?
位置在 ~/.ssh/konwn_hosts
中
第一次ssh登錄后母剥,ssh會把登錄的ssh指紋(fingerprint)存放在用戶目錄的.ssh/know_hosts
中滞诺,如果遠(yuǎn)程系統(tǒng)重裝過,ssh指紋會改變环疼,需要刪除后铭段,重新進(jìn)行登錄。
記錄鏈接到對方時秦爆,對方給的host key
,每次連線都會檢查目前對方給的host key 與你記錄的host key是否相同憔披,進(jìn)行簡單的驗證等限。
重裝服務(wù)器時,需要先進(jìn)入自己電腦的 ~/.ssh/konwn_hosts
刪除原有的服務(wù)器的host key
如何生成SSH Key芬膝?
檢查SSH Key是否存在望门?
ls -al ~/.ssh
# 查看是否存在 ssh key
生成新的SSH Key
ssh-keygen -t rsa -C "郵箱"
默認(rèn)在相應(yīng)路徑下生成,即: /root/.ssh/
系統(tǒng)會詢問你 是否修改路徑锰霜?輸入密碼筹误?確認(rèn)密碼? 三個問題都可以敲空格飄過
隨后癣缅,在/root/.ssh/下會生成兩個文件厨剪,分別是公鑰 id_rsa.pub ,私鑰 id_rsa
注意點
.ssh目錄權(quán)限是 ssh-keygen自己生成的不要亂改,這些權(quán)限不能多也不能少友存,少了則無法使用祷膳,多了則不安全
.ssh目錄權(quán)限是700
id_rsa 權(quán)限是600
authorized_keys 權(quán)限是 644
如果你需要登陸服務(wù)器并執(zhí)行不止一個命令,必須要把命令用單引號或雙引號引起來:
ssh 172.18.6.227 “cd /root && ls “
參考文獻(xiàn)
[1] minmig,ssh key 免密碼登錄[EB/OL] http://blog.chinaunix.net/uid-773723-id-152230.html
[2] Jackie li屡立,linux ssh 使用深度解析(key登錄詳解)[EB/OL] http://blog.lizhigang.net/archives/249