Categories
學習筆記

使用SSH+private key連接linux服務器

Q1: SSH是三小?

Secure Shell(縮寫为SSH)是一款專为远程登录会话和其他网络服务提供加密的协议,透過SSH可以對所有传输的数据进行加密,也能够防止DNS欺骗和IP欺骗。OpenSSH是SSH的替代软件包,而且是開放源代碼且自由的,現在Unix-like系統基本上都用它。你的unix-like系統的vps是使用的遠程都靠它。

Q2: 為什麼我需要這個鬼密钥?

在客户端来看,SSH提供两种级别的安全验证。
第一种级别(基于密碼的安全验证),知道帐号和密碼,就可以登录到远程主机,并且所有传输的数据都会被加密。但是,可能会有别的伺服器在冒充真正的伺服器,无法避免被「中间人」攻击。
第二种级别(基于密钥的安全验证),需要依靠密钥,也就是你必须为自己创建一对密钥,并把公有密钥放在需要访问的伺服器上。客户端软件会向伺服器发出请求,请求用你的密钥进行安全验证。服务器收到请求之后,先在你在该伺服器的用户根目录下寻找你的公有密钥,然后把它和你发送过来的公有密钥进行比较。如果两个密钥一致,伺服器就用公有密钥加密「质询」(challenge)并把它发送给客户端软件。从而避免被「中间人」攻击。

Q3: 那我要怎麼弄出這個好像很厲害的東西?

首先,你必須先用鬧判斷一下你的電腦是什麼系統,然後再往下看。

Unix-like系統(CentOS、Debian、Ubuntu、OS X、FreeBSD等):
1)在我們電腦的Terminal里輸入下列指令,然後死命Enter(回車),然後就好了。

ssh-keygen -t rsa -C "My Key"

unix-like_ssh-keygen
2)如上圖所示,創建完畢後,會告訴你你的private key和public key在哪。

Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.

3)而public key是我們需要的東西,你可以用下面的指令顯示出來,保存起來。

cat /root/.ssh/id_rsa.pub

unix-like_cat_public_key
4)登陸你的遠程服務器,把public_key添加到遠程服務器里。

mkdir -p ~/.ssh
vi ~/.ssh/authorized_keys

put_authorized_keys
若是有好幾台電腦要連這台服務器,且都想加public_key,可以enter換行后繼續粘貼另一個public_key。
5)大功告成,開心地進行無密碼連接吧。

Windows系統:

1)首先,ssh連接你可以選擇用putty,而生成密鈅,你需要用到puttygen。
這是putty家族的官方網址,請自行下載putty和puttygen。
http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html
2)如圖所示用puttygen進行密鈅生成,複製public_key,并保存private key。
puttygen_generate_0
puttygen_generate_1
puttygen_generate_2
puttygen_save
3)登陸你的遠程服務器,把public_key添加到遠程服務器里。

mkdir -p ~/.ssh
vi ~/.ssh/authorized_keys

put_authorized_keys
若是有好幾台電腦要連這台服務器,且都想加public_key,可以enter換行后繼續粘貼另一個public_key。
4)設定好putty,並用putty進行SSH+private key的連接。
putty_0
putty_1
putty_2
5)大功告成,load你保存的Sessions,并開心地進行無密碼連接吧。

Q4: 如何開啟密鈅登陸,并取消密碼登陸?

vi /etc/ssh/sshd_config
默認密鈅登陸就已經開啟了,若不小心被關閉了,請將PubkeyAuthentication那行註解或將值改為yes。
取消密碼登陸登陸的話則需要將PasswordAuthentication的註解取消,并將值改為no。

2 replies on “使用SSH+private key連接linux服務器”

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.