互信linux
1. linux中使用shell腳本訪問sftp伺服器,密鑰不會用
密鑰用於建立SSH互信環境,本地公鑰需要分發到遠端伺服器目錄,可實現本地主機到遠端SFTP伺服器的無訪問.
1. 生成密鑰對,取得本地公鑰,如:id_dsa.pub
2. 登錄到遠端SFTP伺服器用戶HOME目錄的.ssh文件夾
3. 將id_dsa.pub的內容追加到遠端伺服器.ssh/autorized_keys文件尾部並保存
4. 嘗試與本地主機用戶SFTP到遠程伺服器: sftp user@server_addr
2. ssh 雙機互信:免密碼登錄設置步驟及常見問題
在 linux 系統管理中,設置免密碼登錄,進行機器的批量管理是最常用的一個方法。比如針對幾十甚至上百台線上機器,通常我們會設置一台「發布機」作為中央控制機對其它線上機器免密碼登錄,然後進行軟體、配置文件的分發、更新、部署。當然了,針對上面的問題,解決方案並非最優且唯一,比如你也可以用 expect 模擬自動輸入來完成自動登錄驗證這一過程,或者用現在一些開源的軟體自動化配置和部署工具,比如 Puppet,但這都不在本文的討論范疇,今天咱們要說的就是這種最原始、最有效、最直接的方式:免密碼登錄。
(1)問題:
假設:現有2台機器
1、個人機192.168.1.110
2、伺服器192.168.1.112
要使110無需密碼通過ssh登入112
(2)步驟
1、創建密鑰
2、復制公密到伺服器
3、添加公密到192.168.112的信任區域
註: 2,3兩步可由命令ssh--id一步到位
4、測試
此時整個步驟已經完成,你可以嘗試 ssh ip 或者 /etc/hosts 中的主機名試試。
(3)可能遇到的問題
1、在使用 ssh--id 錯誤提示
表現:
公鑰,私鑰已經生成,執行上述命令完畢出現如下錯誤:
$ ssh--id remote-machine
/usr/bin/ssh--id: ERROR: No identities found
解決方法:
g 之發現缺少公鑰路徑,通過 -i 加上即可:
2、ssh ip 可以成功登錄,ssh hostname 卻失敗
表現:
ssh hostname
ssh: connect to host localhost port 22: Connection refused
解決方法:
看下對方的主機名是不是在 /etc/hosts 文件中和 ip 做了映射,沒有就加上即可。
3、ssh 的配置目錄許可權問題
由於 ssh 的許可權直接關繫到伺服器的安全問題,因此 ssh 每次讀取配置都會校驗相關文件夾和文件的許可權,以防止許可權過大對外暴露。
表現:
設置了.ssh目錄,在authorized_keys設置了key後登錄還提示需要輸入密碼。
解決方法:
注意許可權,.ssh許可權700,authorized_keys許可權600,就KO啦!
chmod 700 ~/.ssh/
chmod 600 ~/.ssh/authorized_keys
4、ssh localhost:publickey 授權失敗
註:ssh可同時支持publickey和password兩種授權方式,publickey默認不開啟,需要配置為yes。
如果客戶端不存在.ssh/id_rsa,則使用password授權;存在則使用publickey授權;
如果publickey授權失敗,依然會繼續使用password授權。
不要設置 PasswordAuthentication no ,它的意思是禁止密碼登錄,這樣就只能本機登錄了!
5、ssh localhost:Permission denied (publickey,gssapi-keyex,gssapi-with-mic).
最後重啟你的 linux 執行 ssh localhost
6、ssh localhost:需要密碼
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
7、ssh ip 或 hostname 均提示:connection refused
目標主機的ssh server端程序是否安裝、服務是否啟動,是否在偵聽22埠;
是否允許該用戶登錄;
本機是否設置了iptables規則,禁止了ssh的連入/連出;
具體請參考: http://hi..com/leejun_2005/item/bfc0ded296cb8ebf32db907e
(4)最後的問題
本文介紹的建立基於免密碼登錄,雙機互信的管理方式簡單、直接,但是安全就是個問題了,稍有不慎容易被一鍋端,建議加上防火牆的埠、ip 策略,有條件的話試試動態口令,這樣會更穩妥些。再有就是當機器規模達到上百、上千台的時候,如果對文件數據、機器狀態的實時同步、一致性的要求很高的時候,這種管理方式的弊端就出來了。
(5)Refer:
http://blogread.cn/it/article/6103?f=wb ssh--id幫你建立信任
http://www.lvtao.net/server/54.html ssh無密碼登入設置 ssh-keygen ssh--id
http://hi..com/leejun_2005/item/bfc0ded296cb8ebf32db907e SSH的安裝及登錄提示:connection refused的解決辦法
http://www.cnblogs.com/qcly/archive/2013/07/27/3219535.html 一次由SELinux引起的ssh公鑰認證失敗問題
3. linux什麼是互信
基於免密的遠程登錄就是所謂的互信,通常使用ssh推送公私鑰。
4. 請教linux,windows之間建立SSH互信的問題
不需要samba吧!我只是想寫一個SH在AIX上執行,實現2,向3,或,3,向2上傳下載文件.
答題不易,互相幫助,手機提問的朋友在客戶端右上角評價點滿意即可.
如認可我的回答,請點擊採納為滿意回答按鈕.
5. 一台物理機上兩台虛擬機都是linux系統,配置互信ssh,失敗。
首先看是否可以 ssh localhost , 確認 sshd 是否運行,如果失敗,自身的 sshd 沒有啟動或配置錯誤。
如果自己可以,其它機器不可以,需要確認是否開啟防火牆,將22埠屏蔽。
6. Linux系統輸入超時,自動退出登錄
對所有用戶設置自動注銷功能:
首先,以root用戶登錄系統,輸入 vi /etc/profile 命令,編輯profile文件。
查找TMOUT,若沒有,則可以在文件最後添加如下語句:
TMOUT=300
export TOMOUT
如果查找到了,直接設置時間。
300表示自動注銷的時間為300秒。
編輯好文件後,保存,退出,重新登錄,設置生效。
7. linux建立互信之後,只有root用戶不需要輸入密碼,普通用戶還是需要輸入密碼,怎麼解決
是不是要為其它用戶也配置密匙文件,試下為其它用戶配置密匙文件:把你的密匙文件放到其它用戶的.ssh目錄試試
8. Linux 下實現SSH互信
一、准備兩台伺服器:
A機:192.168.1.1
B機:192.168.1.2
二、雙機建立信任
1、在A機生成秘鑰證書
在root下執行ssh-keygen命令,一路回車,生成秘鑰證書
# ssh-keygen -t rsa
2、查看生成秘鑰文件
# cd ~/.ssh
# ll
文件:私鑰證書id_rsa、公鑰證書id_rsa.pub
3、A對B建立信任關系
3.1 將公鑰證書id_rsa.pub復制到機器B的root家目錄的.ssh子目錄中,同時將文件名更換為authorized_keys
# scp -r id_rsa.pub [email protected]:/root/.ssh/authorized_keys
3.2 若3.1報錯:No such file or directory
使用:# ssh--id -i id_rsa.pub [email protected]
ssh--id命令會自動將id_rsa.pub文件的內容追加到遠程主機root用戶下.ssh/authorized_keys文件中
3.3 查看B機器是否接收
# ssh 192.168.1.2
# cd .ssh/
# ls
# cat authorized_keys
# exit
3.4 B對A建立信任,同上3的操作步驟
9. linux建互信後可以改密碼嗎
linux建互信後可以改密碼的。根據相關信息顯示:Linux伺服器有默認運衫的密碼修改時間,默認是90天。這種情況下,之前設置過免密登錄即互信,當密碼到期後,依然需旁侍腔要輸入伺服器談蘆密碼。
10. linux想設置互信,發現.ssh文件夾沒有authorized_keys,怎麼回事啊
自己建立一個,把公鑰寫進去