SSH通訊和免密碼登陸設定
1.SSH原理
SSH 為 Secure Shell 的縮寫,安全Shell網路協議,用於計算機之間的加密登入,早期的計算機之間採用明文通訊,通訊訊號被截獲以後,內容即被截獲一方掌握。1995年,芬蘭學者Tatu Ylonen設計了SSH協議對登陸資訊進行加密,稱為網際網路安全的標準解決方案。
SSH作為一種協議,有多重實現方案。目前Ubuntu的desktop系統會預設安裝OpenSSH的client端,在Windows系統中,可通過開源軟體PuTTY實現SSH通訊。
2.SSH安裝
參考我的BLOG:http://blog.csdn.net/ezhchai/article/details/52972064
在安裝好Ubuntu的Desktop系統後,執行
dpkg -l | grep ssh
進行查詢, 可以看到系統預設只安裝了openssh-client,沒有server端。建議安裝Server端,尤其是接受其他Client端登陸的裝置,安裝命令為:
sudo apt-get install openssh-server
3.SSH登陸
SSH主要用於遠端登入。假定你要以使用者名稱user,登入遠端主機host,只要一條命令即可。可通過-p引數設定埠號(22是預設埠)。
ssh -p 22 [email protected]
在沒有設定免密碼登陸時,需要通過密碼登陸。
如果你是第一次登入對方主機,系統會出現下面的提示:
$ ssh [email protected]
The authenticity of host 'host (12.18.429.21)' can't be established.
RSA key fingerprint is 98:2e:d7:e0:de:9f:ac:67:28:c2:42:2d:37:16:58:4d.
Are you sure you want to continue connecting (yes/no)?
提示無法確認host主機的真實性,只知道它的公鑰指紋,還想繼續連線嗎?
所謂”公鑰指紋”,是指對公鑰(RSA演算法公鑰長度1024位)進行MD5計算,轉換成128位的指紋,即
98:2e:d7:e0:de:9f:ac:67:28:c2:42:2d:37:16:58:4d
經過風險衡量以後,使用者決定接受這個遠端主機的公鑰,則需輸入yes。
Are you sure you want to continue connecting (yes/no)? yes
系統會出現一句提示,表示host主機已經得到認可。
Warning: Permanently added 'host,12.18.429.21' (RSA) to the list of known hosts.
提示輸入密碼。
Password: (enter password)
如果密碼正確,就可以登入了。
當遠端主機的公鑰被接受以後,會在檔案$HOME/.ssh/known_hosts中儲存。下次再連線這臺主機,系統認出公鑰已經儲存在本地,跳過警告部分,直接提示輸入密碼。
每個SSH使用者都有自己的known_hosts檔案,系統在/etc/ssh/ssh_known_hosts,儲存一些對所有使用者都可信賴的遠端主機公鑰。
4.建立SSH key
如果經常輸入密碼會顯得比較麻煩,可以通過讓主機記錄公鑰來實現免密碼登陸。這裡首先要建立公鑰。
命令為:ssh-keygen -t [rsa|dsa] –C [Comments]
-t = The type of the key to generate
金鑰的型別,加密方式選 rsa|dsa均可以,預設dsa
-C = comment to identify the key
用於識別這個金鑰的註釋
命令例項為:
$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/ezhchai/.ssh/id_rsa):
Created directory '/home/ezhchai/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/ezhchai/.ssh/id_rsa.
Your public key has been saved in /home/ezhchai/.ssh/id_rsa.pub.
The key fingerprint is:
39:f2:fc:70:ef:e9:bd:05:40:6e:64:b0:99:56:6e:01 [email protected]
The key's randomart image is:
+--[ RSA 2048]----+
| Eo* |
| @ . |
| = * |
| o o . |
| . S . |
| + . . |
| + . .|
| + . o . |
| .o= o. |
+-----------------+
進入“.ssh”會生成以下幾個檔案
authorized_keys:存放遠端免密登入公鑰,通過該檔案記錄多臺機器的公鑰;
id_rsa:生成的私鑰檔案
id_rsa.pub:生成的公鑰檔案
know_hosts:已知的主機公鑰清單
如果希望ssh公鑰生效需滿足至少下面兩個條件:
ssh目錄的許可權必須是700
ssh/authorized_keys檔案許可權必須是600
5.拷貝公鑰到遠端主機
命令:ssh-copy-id -i ~/.ssh/id_rsa.pub <romte_ip>
-i引數可採用預設項。
$ ssh-copy-id [email protected]192.168.10.113
The authenticity of host '192.168.10.113 (192.168.10.113)' can't be established.
RSA key fingerprint is f0:1c:05:40:d3:71:31:61:b6:ad:7c:c2:f0:85:3c:cf.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '10.124.84.20' (RSA) to the list of known hosts.
[email protected]192.168.10.113's password:
Now try logging into the machine, with "ssh ' [email protected]'", and check in:
.ssh/authorized_keys
to make sure we haven't added extra keys that you weren't expecting.
這樣,再通過ssh命令,即可免密碼實現主機登陸了。
相關推薦
SSH通訊和免密碼登陸設定
1.SSH原理 SSH 為 Secure Shell 的縮寫,安全Shell網路協議,用於計算機之間的加密登入,早期的計算機之間採用明文通訊,通訊訊號被截獲以後,內容即被截獲一方掌握。1995年,芬蘭學者Tatu Ylonen設計了SSH協議對登陸資訊進行加密
ssh 免密碼登陸設定不成功
記一次centos6設定免密碼登陸設定不成功的解決。自己挖的坑自己填。 ssh 免密碼登陸設定( 正常情況下是這樣的,設定成功後登陸主機是不需要密碼的) [[email protected] .ssh]# ssh-keygen -t rsa # 執行上面的命令直接敲3-4次回車。 Gener
ssh和ssh2之間的免密碼登陸詳解
SSH為Secure Shell的縮寫,由IETF的網路工作小組(Network Working Group)所制定;SSH為建立在應用層和傳輸層基礎上的安全協議。在維基百科上,有關於SSH的詳細詞條,但通俗點說,SSH能夠讓一個客戶端安全的登入上一個伺服器上進行管理操作。所以,忘掉FTP、POP和Tel
Jenkins進階系列之——09配置Linux系統ssh免密碼登陸
dom pub tar finger cnblogs pan 改變 art home ssh認證的完整描述:https://www.ibm.com/developerworks/cn/linux/security/openssh/part1/ 說明:點我去查看 今天我們只說
ssh 免密碼登陸
密碼 有時 刪除 內容 需要 機器 文檔 authorize 利用 服務器被登陸的時候,需要用戶提供它的密碼。 ssh [email protected]/* */ 有時人們會覺得輸入密碼比較麻煩。有時服務器是不想讓人直接登陸,但是又必須允許部分人登
配置ssh免密碼登陸
grep 本機 author ins 配置ssh 數據同步 輸入 如果 id_rsa 以root賬戶為例 準備兩臺以上的Linux服務器,我這裏用的是s204,s205兩臺機器,多臺同樣的 先使用ssh登錄試一下,如果沒有安裝則需要先安裝一下 ssh s205會提示你輸
Mac客戶端CentOS服務器 SSH免密碼登陸
rsa 使用 直接 oot root 下使用 bsp 密碼 cat 假定有2個服務器A(127.0.0.1)和B(192.168.0.1),A作為客戶端來登錄服務器B 1.在服務器A下使用 ssh-keygen -t ras -P ‘ 會在~/.ssh目錄下‘生成公鑰(
Centos7 ssh免密碼登陸
gpo id_rsa ssh免密 evel 密鑰登陸 post pan png ssh-key 摘要:安裝openssl openssl-devel 不過有些centos自帶 192.168.161.5 192.168.161.15 本版本用centos7 (192.16
Linux上實現ssh免密碼登陸遠程服務器
Linux上實現ssh免密碼登陸遠程服務平常使用ssh登陸遠程服務器時,都需要使用輸入密碼,希望可以實現通過密鑰登陸而免除輸入密碼,從而可以為以後實現批量自動部署主機做好準備。 環境如下: IP地址 操作系統 服務器端 10.0.0.10 CentOS 6.5 x86 客戶端 10.0.0
ssh免密碼登陸設置時bad ownership or modes for file 報錯的解決辦法
linux ssh問題:密鑰登陸時報如下錯誤:May 13 10:11:26 keep sshd[25103]: Authentication refused: bad ownership or modes for file /home/git/.ssh/authorized_keys 原因:sshd為了安全
centos ssh免密碼登陸突然
終端輸入:tail /var/log/secure -n 20 發現有下面這樣一句話: Oct 16 19:52:03 master sshd[4463]: Authentication refused: bad ownership or modes for directory /roo
阿里雲3臺機器組成叢集配置ssh免密碼登陸
1 查詢阿里雲局網ip 注意:需要配置同一地區同一可用區的機器 才是一個局網 2 配置好hosts檔案 3 hostname確認也是正確的 4 生成公鑰私鑰 三臺機器同樣操作 ssh-keygen -t rsa 然後一路回車 &n
SSH免密碼登入設定
兩臺Linux主機需要從其中一臺ssh至另外一臺需要手動輸入密碼,通過以下設定免密碼登入 生成祕鑰 ssh-keygen -t rsa 把祕鑰複製至需要免密登入的主機,第一次拷貝需要輸入一次密碼 ssh-copy-id -i ~/.ssh/id_rsa.pub [emai
Linux免密碼登入設定 ssh-keygen
linux系統配置免密碼的方式: 1:ssh-keygen -t rsa 生成金鑰 [[email protected] ~]# ssh-keygen -t rsa Generating public/private rsa key pair.
ubuntu16.04叢集之間配置SSH免密碼登陸與原理詳解
環境 vmware14.1虛擬機器中三臺ubuntu16.04 ip地址對映關係:如下 127.0.0.1 localhost 192.168.184.131 vm-01 192.168.184.132 vm-02 192.168.184.133
使用expect實現ssh免密碼登陸
使用expect向ip列表檔案中的ip主機,執行ssh-copy-id命令複製金鑰,以實現ssh免密登陸。 安裝expect yum install -y expect 生成金鑰對 ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa 指令碼 //shell指令碼內容
SSH免密登陸設定
ssh免密碼輸入 命令: ssh-keygen -t rsa 回車回車回車... 檢視鑰匙鏈 先 cd /root/.ssh
大資料叢集環境ssh免密碼登入設定
一、準備工作 用客戶端工具(xshell或者ssh等等)連線到linux伺服器。在root使用者下輸入命令: vi /etc/hosts,用vi編輯hosts檔案,如下: 127.0.0.1 localhost localhost.localdomain localhost4 localhos
ssh localhost 免密碼登陸(圖解)
每次搞ssh locahost無密碼登陸都要查半天,這次記錄一下,以備不時之需 假設系統中有使用者test,屬於使用者組test, 1 首先確認能否不輸入口令就用ssh登入localhost: $ ssh localhost 輸出如下所示: 2
配置ssh免密碼登入設定後還是提示需要輸入密碼
工作之餘搭建了一個叢集測試,配置了ssh免密碼登入以後 ,所有的ssh-copy-id 金鑰也都分發了 ,各項配置也沒有問題,但是使用ssh進行免密登入時,沒有報錯,但是要輸入被ssh主機的登入密碼,跟沒有配置的效果一樣。 分析了一下,問題出現在建