1. 程式人生 > >使用putty(ssh)密匙安全登入伺服器

使用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
File?id=ajbgz6fp3pjh_52hjtwgx

點選Generate生成密匙,生成後Key passphrase  Confirm passphrase 兩項可以保持為空passphrase

是用來保護私匙的密碼,

如果沒什麼特別高的安全要求就不用了,免得登入時還要輸入一次密碼。後面討論如果輸入passphrase,也可以自動登入系統。

File?id=ajbgz6fp3pjh_53dknx7b

點選 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

,設定好session的各項引數(IP addressprotocol選擇SSH),然後從左邊選擇SSH”Preferred SSH protocol version

這時我們用的是SSH1協議,那麼我們就選擇協議版本1,再“SSH->Auth””Private key file for authentication:” 點選 Browse 按鈕,選擇 id_rsa1.prv 檔案。


File?id=ajbgz6fp3pjh_57cznt5t

File?id=ajbgz6fp3pjh_59ddcg2b

再從左邊選擇 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.exebsd/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 好了,反正一般用途也沒什麼區別。

如果不存在以上轉換問題,直接如下也可。


File?id=ajbgz6fp3pjh_56d445j9

把這個文字框裡的公鑰貼上到 vim 中去,需要說明幾點:這個文字框裡的內容是一行的,貼上到 vim 中時,別忘了按字母 o 這個鍵,否則的話,貼上進去後,開頭的 ssh-rsa 會變成 sh-rsa,為什麼呢?哈哈,想想吧。
為什麼不按字母鍵 i 呢?這個在 vim 中不就是插入麼?原因是我很懶,按字母 o,我可以節省一次按回車鍵。雖然按大寫 O 也行,那我不是還得再按一下 Shift 鍵麼?
別忘了,在 PuTTY 中預設的貼上可是按滑鼠右鍵哦,然後按一下 ESC 鍵,然後輸入 :wq 儲存退出,等等,大家先彆著急的輸入 :wq,既然輸入冒號還得按下 Shift 鍵,那我們就乾脆直接兩下大寫的字母 Z,也就是 ZZ。怎麼樣?vim 也一樣儲存退出了吧。這次又節省了一次按鍵和兩次尋找字母的移動,把懶得優良傳統再一次在實踐中發揚光大

File?id=ajbgz6fp3pjh_58fh2th8

二,讓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
=================================================

閱讀(1247) | 評論(0) | 轉發(0) | 給主人留下些什麼吧!~~ 評論熱議

相關推薦

使用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