使用putty(ssh)密匙安全登入伺服器
使用putty(ssh)密匙安全登入伺服器
參考網頁: http://www.linuxfly.org/post/175_1_1.htm
http://docs.google.com/View?docid=ajbgz6fp3pjh_2dwwwwt
我們暫且選用SSH1協議,後面討論使用SSH2協議與使用SSH1協議設定上的不同。
第一步:生成密匙執行puttygen.exe,選擇需要的密匙型別(parameters)和長度(bits)。putty預設使用SSH1協議,長度預設值為1024,點選Generate生成密匙,生成後的Key passphrase 和 Confirm passphrase 兩項可以保持為空,passphrase
如果沒什麼特別高的安全要求就不用了,免得登入時還要輸入一次密碼。後面討論如果輸入passphrase,也可以自動登入系統。
點選 Save public key 按鈕和 Save private key 按鈕分別儲存公匙和私匙
例如 id_rsa1.pub 和 id_rsa1.prv。第二步:上傳密匙用自己的帳號登入遠端系統,然後執行下面的命令:
cd ~
mkdir .ssh
chmod 700 .ssh
cat id_rsa1.pub > .ssh/authorized_keys
chmod 644 .ssh/authorized_keys
第三步:設定Putty
啟動Putty
這時我們用的是SSH1協議,那麼我們就選擇協議版本1,再“SSH->Auth”,”Private key file for authentication:” 點選 Browse 按鈕,選擇 id_rsa1.prv 檔案。
再從左邊選擇 Session,然後點選 Save 按鈕把修改儲存下來。然後點選Open 按鈕就可以登入了。如果上面的操作都沒有問題,那這時應該就自動登入了,無需輸入密碼。正常情況下會顯示如下:
login as: root
Authenticating with public key "rsa-key-20050328"
Last login: Mon Mar 28 14:39:13 2005 from 192.168.0.2
有了上面第二行的資訊,表明你已經正常啟用SSH通訊了。
======================================================================
其它問題:
一,使用SSH2協議
如果要用SSH2協議,需要修改一下 /etc/ssh/ssh_config 檔案,把#Protocol 2,1 這一行前面的#字元去掉,預設也是先是ssh2,
再是ssh1,實際上不除去#註釋也是可以的。
用puttygen.exe生成SSH2協議格式的密匙(操作方法同上),上傳到.ssh/authorized_keys檔案時,需作如下修改,
因為puttygen.exe和bsd/Linux生成的SSH2密匙格式不一樣。
例如puttygen.exe生成的公匙是id_rsa2.pub
[[email protected] .ssh]# cat id_rsa2.pub
---- BEGIN SSH2 PUBLIC KEY ----
Comment: "rsa-key-20050328"
AAAAB3NzaC1yc2EAAAABJQAAAIEAtZgDykOOegKu6sCGzxpzA2CwB5o2X37FM4lg
41LXw3DR2/7+aBQNYDez3BWkGIluyfuyWYlw21bEzUiJhJ9/8tX5FUJLBYr/ELtq
jI08dfhHaRjVM8cRQX7fv6jCNIuyEKlml9QuFdIOIX3bS5dkAHkk9GKMgaMISK44
zB4qUfM=
---- END SSH2 PUBLIC KEY ----
而BSD/Linux生成的ssh2格式是
[[email protected] .ssh]# cat id_rsa.pub
ssh-rsa AAAB3NzaC1yc2EAAAABIwAAAIEAsD4qEibcK1e9ZgFX6bahxnU/It5MjC/7U56n
OOZ0MDf+LHU7bWo3M6XH/mp1KeTRrHIPtmEl2PTkf9/3NffNtBdAkSJ/sWoPoaeJlShcvK2
wzOsrre4FyJRRUtl2jdCDJxRX0Cu2GV/aNphVQoAuU0lj7/55eladpO8/jr14adE=
所以照著Linux預設的格式改一下就可以了。
如果沒有 puttygen.exe,那麼可以用 bsd/linux 自帶的 ssh-keygen 生成密匙,命令格式如下:
ssh-keygen -b 密匙長度 -t 密匙型別密匙型別可以是:rsa1 (對應SSH1 RSA)、rsa 和 dsa (對應SSH2)
如:ssh-keygen –b 1024 –t rsa
預設是生成的~/.ssh/id_rsa檔案。不過 ssh-keygen 生成的SSH2密匙和putty的密匙格式不同,無法直接使用,必須用 puttygen.exe 轉換一下。
所以大家還是用 rsa1 好了,反正一般用途也沒什麼區別。
如果不存在以上轉換問題,直接如下也可。
把這個文字框裡的公鑰貼上到 vim 中去,需要說明幾點:這個文字框裡的內容是一行的,貼上到 vim 中時,別忘了按字母 o 這個鍵,否則的話,貼上進去後,開頭的 ssh-rsa 會變成 sh-rsa,為什麼呢?哈哈,想想吧。
為什麼不按字母鍵 i 呢?這個在 vim 中不就是插入麼?原因是我很懶,按字母 o,我可以節省一次按回車鍵。雖然按大寫 O 也行,那我不是還得再按一下 Shift 鍵麼?
別忘了,在 PuTTY 中預設的貼上可是按滑鼠右鍵哦,然後按一下 ESC 鍵,然後輸入 :wq 儲存退出,等等,大家先彆著急的輸入 :wq,既然輸入冒號還得按下 Shift 鍵,那我們就乾脆直接兩下大寫的字母 Z,也就是 ZZ。怎麼樣?vim 也一樣儲存退出了吧。這次又節省了一次按鍵和兩次尋找字母的移動,把懶得優良傳統再一次在實踐中發揚光大
二,讓Putty顯示中文
啟動putty
windows -> appearance -> font setting -> change...
將putty的預設字型設定為"新宋體" 小四
連線到伺服器以後輸入:
export LANG=zh_CN.GB2312
更改環境變數。
三,設定passphrase後,讓系統自動登入
開啟pageant.exe,右擊右下角的pageant.exe的圖示,"add key",選擇剛剛生成的私匙如id_rsa2.ppk,OK,
只要開啟pageant.exe,以後就不用輸入passphrase,系統就可以自動登入了。
pageant 的作用是將解加密的 private key 放在記憶體裡,需要的時候呼叫。
======================================================================
可能出現的幾種問題:
1、Server refused our key
公匙和私匙不匹配,或者沒有 authorized_keys 檔案
解決方法:這個問題大多是使用puttygen.exe生成ssh2格式的密匙和Linux上面的不一樣,
照著上面的改(只是增加ssh-rsa)就可以了。
2、Unable to use key file "id_rsa1.prv" (SSH1 private key)
私匙檔案的格式不正確或登入型別沒有設定正確解決方法:開啟puttyàSSH選項時,“Preferred SSH protocol version:”,這時如果你用SSH1協議,
就選擇“1”,如果你使用SSH2協議就選擇“2”,這個大多是你生成的是SSH1協議的密匙,
而putty登入型別選擇為protocol 2。
=================================================
相關推薦
使用putty(ssh)密匙安全登入伺服器
使用putty(ssh)密匙安全登入伺服器參考網頁: http://www.linuxfly.org/post/175_1_1.htmhttp://docs.google.com/View?docid=ajbgz6fp3pjh_2dwwwwt我們暫且選用SSH1協議,後面討論
linux-shell系列7-ssh密匙生成分發
init.d yum pub 軟件 批量分發 rsa linux amp 批量 sshpass 該軟件就是為ssh提供密碼使用的yum install sshpass -y 批量分發腳本內容 #!/bin/bash. /etc/rc.d/init.d/functio
Linux SSH密匙登錄
配置文件 生成 設置 騰訊雲 key zed 搜索 pty gpo 最近整了一個騰訊雲服務器, 沒事倒騰倒騰。 說來慚愧做php程序員也好幾年了,一直都是寫寫代碼很少直接操作服務器,所以很多linux知識對我來說都挺新鮮的。一般碰到不會的問題都是通過網頁搜索來解決。這
ssh配置config快速登入伺服器
前提: 通過如下命令生成金鑰(回車即可,使用預設配置) ssh-keygen -t rsa 1.客戶端(自己mac配置) cd ~/.ssh // 切換到該目錄下 ls //顯示當前目錄下檔案 配置
[轉]python3之paramiko模組(基於ssh連線進行遠端登入伺服器執行命令和上傳下載檔案的功能)
轉自:https://www.cnblogs.com/zhangxinqi/p/8372774.html 閱讀目錄 1、paramiko模組介紹 2、paramiko的使用方法 回到頂部 1、pa
window下配置多個ssh密匙
1.開啟git bash工具,執行eval 'ssh-agent -s'或者eval 'ssh-agent'開啟密匙管理客戶端,如果eval ‘ssh-agent’啟動不了,可以使用ssh-agent啟動bash,或者說把bash掛到ssh-agent下面,命令是‘ssh-
ssh自動輸入密碼登入伺服器/ssh免輸入密碼登入/非互動ssh 密碼驗證
原文連結:http://hi.baidu.com/sdusoul/item/6a69b6953853e630326eeb21 由於經常需要登入一些遠端的伺服器,每次都需要將密碼重輸一遍,如下:#ssh 使用者名稱@我的伺服器的ip使用者名稱@我的伺服器的ip's pass
關於ssh密匙生成步驟
1. 檢查是否生成過ssh 金鑰生成ssh 金鑰後,會在當前使用者的根目錄下建立.ssh目錄。因此,可以通過以下兩種方式檢查是否生成過ssh 金鑰。其一,是否可切換到.ssh目錄:cd ~/.ssh如果.ssh目錄則會切換到對應目錄,不存在會有相關提示。其二,使用ls命令
使用密匙讓putty(或ssh)自動登入Linux遇到幾個問題的解決方法
在用SSH通過金鑰登入Linux時,遇到 server responded"No further authentication methods available" no more authentication methods a
SSH 免密登入配置和遠端登入伺服器
生成SSH私鑰和公鑰 ssh-keygen -t rsa 手動建立一個 authorized_keys檔案 touch ~/.ssh/authorized_keys 公鑰檔案內容複製到authorized_keys檔案裡面 cat ~/.ssh/id_rsa.pub
配置ssh免密登入伺服器
當前伺服器環境為ubantu 14.04 一、本地 ①生成id_rsa id_rsa.pub ssh-keygen -t rsa -C "[email protected]" ssh -T [email protected] 碼雲生成ssh ke
ssh用私鑰登入遠端伺服器時提示私鑰不安全問題解決
ssh用私鑰ding_test.pem登陸伺服器11.10.37.54 [email protected]:~# ssh -i ding_test.pem [email pro
PUTTY、Xshell遠程連接Linux與PUTTY、Xshell密匙認證
putty xshell linux密鑰認證 快照:在VM虛擬機軟件裏有一個快照的功能,快照相當於備份一下操作系統,能備份某一個時間點的系統,如果在實驗的過程中出現了問題,可以恢復到上一個拍攝的快照中。例如:快照占用的存儲空間不大,在實驗的過程中可以多拍攝一些快照,在實驗過程中出現問題就可以恢復到
ssh使用密匙認證
ssh key mkdir /root/.ssh #建立存放pubkey的目錄 chmod 700 !$ #修改權限 vim !$/authorized_keys #編輯驗證文件,黏貼pubkey setenforce 0 #先臨時關閉selinux
ssh自動分發密匙腳本樣板
make get ech .com ict key ping www style #!/bin/bash rom=/media/cdrom dir=/etc/yum.repos.d Use=$1 mima=$2 function yumj(){ [ -d "$rom" ]
Linux(ubuntu/Centos7)免密登入伺服器&VPS
1.在自己的本地 生成公鑰和私鑰 ssh-keygen 回車 回車 回車 生成公鑰和私鑰 cd .ssh ls authorized_keys id_rsa id_rsa.pub known_hosts #此時公鑰和私鑰已建立在本地 2.將本地公鑰
python pexpect ssh 遠端登入伺服器
使用了python中的pexpect模組,在測試程式碼之前,可輸入python進入互動介面,輸入help('pexpect'),查詢是否本地含有pexpect模組。 如果沒有,linux系統輸入 easy_install pexpect便可自動安裝。 測試程式碼,連線127
一句命令實現本地電腦免密登入伺服器
前提是本地電腦和伺服器的.ssh目錄裡已經生成公鑰和私鑰檔案,伺服器.ssh目錄裡有檔案authorized_keys(如果沒有用touch authorized_keys建立). 在本地通過命令視窗,進到.ssh目錄裡(使用命令 cd ~/.ssh),執行命令ssh-copy-id [emai
SSH 登入伺服器 提供證書登入
Mac 環境下面-------- 遠端主機ip:HostIpAddress 如果沒有 key 話需要自己生成,或找同事索取. 1.生成key 如果本地有id_rsa和id_rsa.pub這兩個檔案就不要再生成一次了,否則之前已經設定好的網站就白弄了。 ssh-keygen&nbs
利用 expect 免密輸入遠端登入到伺服器,並且執行命令,執行完後並退出mmmi
expect 是什麼? 我們通過Shell可以實現簡單的控制流功能,如:迴圈、判斷等。但是對於需要互動的場合則必須通過人工來干預,有時候我們可能會需要實現和互動程式如telnet伺服器等進行互動的功能。而expect就使用來實現這種功能的工具。類似wind