1. 程式人生 > >Linux主機SSH免密設定解析

Linux主機SSH免密設定解析

為了保證一臺Linux主機的安全,所以我們每個主機登入的時候一般我們都設定賬號密碼登入。但是很多時候為了操作方便,我們都通過設定SSH免密碼登入。那麼該如何設定?是不是免密碼登入就不安全了呢?

一、被訪問主機的祕鑰儲存機制

在被SSH登入的主機中,其實都有一個儲存來登入的主機的祕鑰的檔案,它的名字叫做authorized_keys,它的位置就在root/下面的隱藏目錄.ssh中(注:如果這臺主機沒有被設定任何免祕鑰登入,這個檔案預設是不存在的)


在authorized_keys檔案中,儲存著能夠登入本地主機的各個主機的身份證資訊,他們的儲存格式都是以ssh-rsa開頭的一組字串。在這裡,我們不用理解他的意義,但是要記住兩點:

1.     每個ssh-rsa及其之後字串組成了一個唯一代表一個主機的祕鑰;

2.     這個祕鑰是無法被仿照的;

二、SSH免密登入設定

(1)從Linux系統下發起免密登入

目標機器: HostA

本地機器: HostB

a.     在本地機器用ssh-keygen 生成一個公私鑰對

[[email protected] ~] ssh-keygen


此時,在/root/下會生成一個.ssh目錄,在這個目錄下會生成兩個檔案


id_rsa是私鑰,一定要儲存好。不能丟失,也絕對不能分發給其他的使用者。如果私鑰丟失,身份就可能會被別人冒充。

id_rsa.pub是公鑰,用來對外做分發用的。其他的主機拿到公鑰之後,就能夠判斷私鑰是否準確。

b.     把本地生成的公鑰拷貝到需要登入的目標主機上

[[email protected]  ~]scp .ssh/id_rsa.pub [email protected]:/home/

c.     在遠端主機上,將公鑰新增到authorized_keys檔案之後

[[email protected]  ~]cat id_rsa.pub >> .ssh/authorized_keys

[[email protected]  ~]chmod 700 .ssh

[[email protected]  ~]chmod 600 .ssh/authorized_keys

這裡要注意兩點:

1) 這裡是目標主機HostA,而不是發起主機HostB

2) 這裡需要用cat命令將公鑰中的內容用重定向命令>>新增到authorized_keys檔案之後,而不能簡單的用cp命令。原因是因為authorized_keys裡面以前可能新增過祕鑰,如果用cp命令,可能將以前的祕鑰都沖掉。

d.     上述步驟都完成後,免密登入都已經設定完成,可以回到本地主機上進行SSH登入了

(2)從Windows系統下發起免密登入

目標機器: HostA

本地機器: HostB

軟體工具:XShell

a.     在XShell上生成一個新的使用者祕鑰

工具->使用者祕鑰管理者->

b.     點選下一步,會生成一個公鑰檔案,把它儲存下來。


c.     將這個公鑰檔案拷貝到目標主機的/root/.ssh目錄下

把它新增到目標主機的authorized_keys檔案中

[[email protected]  ~]cat id_rsa.pub >> .ssh/authorized_keys

設定完成


相關推薦

Linux主機SSH設定解析

為了保證一臺Linux主機的安全,所以我們每個主機登入的時候一般我們都設定賬號密碼登入。但是很多時候為了操作方便,我們都通過設定SSH免密碼登入。那麼該如何設定?是不是免密碼登入就不安全了呢? 一、被訪問主機的祕鑰儲存機制 在被SSH登入的主機中,其實都有一個儲存來登入的

ansible 配置 linux 主機ssh訪問

為了避免Ansible下發指令時輸入目標主機密碼,通過證書籤名達到SSH無密碼是一個好的方案,通過ssh-keygen與ssh-copy-id來實現快速證書的生成及公鑰下發,其中ssh-keygen生成一對金鑰,ssh-copy-id來下發生成的公鑰。 1、執

配置linux主機到windows主機ssh登陸

接上篇,從linux主機scp檔案到windows主機,每次輸入密碼肯定不現實。 所以需要配置linux主機到windows主機ssh免密碼,cd /home/你的使用者/.ssh/,如果裡面有id_

LinuxSSH登錄

key lin tps ip地址 .com 進入 實驗方法 技術分享 註意 實驗方法: 開啟兩臺虛擬機A和B,IP地址分別為192.168.222.12、192.168.222.10 在虛擬機A下做如下操作,生成公鑰和密鑰: [root@localhost ~]# ss

LinuxSSH登入認證過程研究

一、先看下SSH免密登入使用到的工具和生成的檔案 工具:ssh-keygen用於生成祕鑰檔案,其中祕鑰分為公鑰和私鑰、ssh-copy-id用於複製公鑰檔案到被控制機。 檔案:ssh-keygen生成的祕鑰檔案有兩個,放在~/.ssh/,id_rsa為私鑰、id_rsa.pub為公鑰 被控制機檔案:通過

LinuxSSH登錄認證過程研究

建立連接 www. ldo 結果 tls doc authorize dvr 自己 一、先看下SSH免密登錄使用到的工具和生成的文件 工具:ssh-keygen用於生成秘鑰文件,其中秘鑰分為公鑰和私鑰、ssh-copy-id用於復制公鑰文件到被控制機。 文件:ssh-k

LinuxSSH登入

目錄 1.什麼是SSH? SSH為Secure Shell(安全外殼協議)的縮寫,簡單說,SSH是一種網路協議,用於計算機之間的加密登入,很多ftp、pop和telent在本質上都是不安全的,因為它們在網路上用明文傳送口令和資料,別有用心的人非常容易就可以截獲

Linuxssh登陸

第一種情況兩臺主機連結: Linux主機1   ipxxxxxx1 win10主機2或者Linux主機2    ipxxxxxx2   在Linux主機1中操作 第一步:選擇目錄 cd .ssh 第二步:生成金鑰,冒號直接空格或者填

Git ssh設定

1、生成金鑰 ssh-keygen -t rsa -C "[email protected]" -f "e:\id_rsa\id_rsa" [email protected]是個人的郵箱 e:\id_rsa\id_rsa 是你生

Linux多臺主機間配置SSH登陸

包含 生成 目錄 apt 裏的 html .cn 密碼 查看 1.安裝ssh. sudo apt-get install ssh. 安裝完成後會在~目錄(當前用戶主目錄,即這裏的/home/xuhui)下產生一個隱藏文件夾.ssh(ls -a 可以查看隱藏文件)。如果沒有

linux設定ssh登入和ssh-copy-id命令

linux系統配置免密碼的方式: 1:ssh-keygen -t rsa ssh-keygen -t dsa 生成金鑰 2:ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected] # 接下來一路回車到底

linux ssh/telnet遠端登陸及設定

遠端控制命令  ********◇ telnet命令                 ○ 命令說明:用於遠端登入。執行te

[Linux] CentOS設定主機之間互信

  已有三臺CentOS7主機,設定三臺主機之間指定使用者的密碼互信,實現免密登入。 三臺主機:192.168.1.2,192.168.1.3, 192.168.1.4   1. 3臺主機上分別生成祕鑰 [[email protected] ~

linux當中設定不同主機之間登入

首先在一臺機器上執行下面的指令: ssh-keygen 然後敲回車,看到下面的資訊: ssh-copy-id 192.168.5.129 然後輸入密碼,即可記錄密碼,如圖: 以後直接s

ssh 登錄阿裏雲主機

conf nbsp .com 解決 file 阿裏雲 blank 默認 這一 在網上找了好幾篇教程,都不好使。 終於在這篇找到了答案 解決方案: 在 sshd_config 裏面將這一項: AuthorizedKeysFile .ssh/authorized_keys 被我

linux(十)配置ssh登錄實現

conf .cn key 操作 ipv4 必須 打開 什麽 gen 知道ssh的朋友應該知道它是用來幹什麽的,如果你不知道什麽是ssh遠程登錄的話,可以去看一下我的上一篇博客,關於linux的網絡基礎的知識。備註:ssh是用於遠端登入。執行ssh指令開啟終端機階段作業,並登

Linux--ssh登陸

退出 ssh str restart 註釋 找到 authent 兩個 重啟 前期配置: 以root身份登錄。 退出點擊other,登陸root即可。 修改主機名並重啟。 vim /etc/sysconfig/network 改為node1 vi /etc/s

linux下expect命令實現批量ssh

輸入 left 防止 輸出 one 時間 line jdb eof 有時候我們需要批量發送ssh命令給服務器,但是有可能有些服務器是新加入的,還沒有配置ssh免密,這個時候就會提示我們輸入yes/no 或者password等,expect腳本命令就是用於在提示這些的時候

linux下實現ssh登錄

復制 由於 linu width tro watermark linux roc 密碼登錄 設置ssh無密碼登錄可以提高我們主機的安全性。ssh 無密碼登錄要使用公鑰與私鑰。linux下可以用ssh-keygen生成公鑰/私鑰對,接下來以Centos為例。例圖:實驗主機A無

ssh登錄linux服務器

普通 all ora pan random update under size src Ssh免密登錄 sshd服務 sshd簡介: SSH 密鑰為登錄 Linux 服務器提供了更好且安全的機制。運行 ssh-keygen 後,將會生成公私密鑰對。你可以將公鑰放置到任意服務