1. 程式人生 > >普通使用者ssh免密登陸完美解決(Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password))

普通使用者ssh免密登陸完美解決(Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password))

又很久沒寫部落格了,今天寫一篇很有用的。嘿嘿,剛解決了問題,搞得我三天沒睡好覺。

現在一身輕鬆,希望同樣問題的小夥伴能解決同樣的問題,睡個好覺,也是給自己留個筆記。

ssh免密登陸(我是使用hadoop叢集時需要配置),從一臺虛擬機器ssh到另一臺虛擬機器,包括普通使用者和root使用者皆行。

接下來看我的騷操作(當然我大部分講解的是主要的配置)

↓ 

首先你應該能ping通你的另一臺機器。我使用的是虛擬機器下的主機模式,不能上網,但是虛擬機器間相互能通。(方法不同但相信大家應該都可以了)

ssh能連線的基本原理我廢話說一句,你也應該知道,不然都不知道自己搞的什麼:伺服器生成一把金鑰(id_rsa),一把公鑰(id_rsa.pub)。將公鑰拷貝到客戶端的~/.ssh檔案中再cat

./id_rsa.pub >> ./authorized_keys,此時你便可以連線客戶端了,具體的我們接著看下面。

在實現虛擬機器之間ssh之前,我完成了本機對自己的ssh(ssh localhost、ssh username)這裡是免密登陸的哦!!

拷貝你的公鑰到另一臺電腦:

scp ~/.ssh/id_rsa.pub [email protected]名字:/home/hadoop/(當然更簡單的方式就是直接將id_rsa.pub裡面的東西複製到另一臺的authorized_keys)

此時可以ssh一下了:


我是用root登陸的,顯示不行,那是因為我關閉了root的登陸許可權,如果你要使用root登陸可以執行

vi /etc/ssh/sshd_config

修改為PubkeyAuthentication yes(如果前面有#,就去掉#)


service sshd restart重啟sshd服務後再次連線就行了

後面我們重點講一下普通使用者ssh到另一臺電腦上(因為我在這裡遇到了一個很大的坑!!!!!)

首先你可以試試 

ssh [email protected]

這裡username是你要連線的電腦的使用者名稱,hostname是它的地址。


如果可以的話,還是恭喜你。一次搞定。

如果失敗

Permission denied (publickey,gssapi-keyex,gssapi-with-mic)

應該是你的配置檔案出現了問題 /etc/ssh/sshd_config

這裡我們使用簡單的連線方式,很多同學可能也會使用另一種連線方式,那就是

ssh 名字

但是你會發現這樣會出現

Permission denied (publickey,gssapi-keyex,gssapi-with-mic)

那是因為你沒有指定連線的使用者名稱,它會預設使用當前的使用者名稱所以會錯誤。

如果你不嫌麻煩可以使用

ssh [email protected]

當然也可以使用以下簡單的方式:對映關係

在.ssh檔案下建立一個文字config(如果沒有)

編輯文件:

Host hostname

user username

新增的是對你連線關係的對映。

從hadoop2使用ssh hadoop3時預設改為ssh [email protected],而不是原來的ssh [email protected]

最後修改的最重要的一點記住許可權問題config文件的許可權同組使用者嚴格為不能寫許可權

修改:

chmod 644 config 或 chmod 600 config

再次使用 ssh 使用者名稱 就ok了!!!

這篇文章我主要想說的就是config檔案,不嫌麻煩你可以使用 ssh [email protected],嫌麻煩你可以新增config檔案的對映,直接ssh hadoop2。

至於前面的ssh連線我沒有講的太清楚,那些網上到處都是,就不說了 ~。~

相關推薦

普通使用者ssh登陸完美解決(Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password))

又很久沒寫部落格了,今天寫一篇很有用的。嘿嘿,剛解決了問題,搞得我三天沒睡好覺。 現在一身輕鬆,希望同樣問題的小夥伴能解決同樣的問題,睡個好覺,也是給自己留個筆記。 ssh免密登陸(我是使用hado

解決Centos6.4叢集配置ssh登陸仍然需要輸入密碼問題

遇到的問題展示:   Ssh免密登陸配置成功之後仍然需要輸入密碼,找了很多方法,最後已解決,現把解決辦法的詳細過程記錄下來,希望對你有幫助。。。       解決辦法:   一、準備工作   1、安裝ssh服務 執行rpm -q

ssh登陸

sshssh免密登陸ssh無密碼登錄要使用公鑰與私鑰。linux下可以用用ssh-keygen生成公鑰/私鑰對,下面我以CentOS為例。系統:CentOS7主機:A(192.168.66.100);B(192.168.66.110)為方面,用戶都為root1、在A下生成公鑰/私鑰對命令: ssh-ke

Linux--ssh登陸

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

Centos7實現ssh登陸

manage oca sent centos7 main with false SQ present 1通過ssh-copy-id的方式 1 [root@localhost ~]# ssh-copy-id -i root@worker1 2 /usr/bin/ssh-

Linux多臺主機間配置SSH登陸

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

shell腳本配置ssh登陸

add home copy The authorize code 本地 ont 參數 通過shell腳本配置免密登陸,分為兩個腳本,一個是配置文件config.env,一個是正式腳本sshkey.sh。 # config.envexport HOST_USER=(root

Centos7 配置ssh登陸以及遇到的問題

同樣以Ubuntu為例,假設使用者名稱為u: 1)確認已經連線上網際網路,然後輸入命令: sudo apt-get install ssh 2)配置為可以免密碼登入本機。首先檢視在u使用者下是否存在.ssh資料夾(注意ssh前面有“.”,這是一個隱藏資料夾),輸入命令: ls –a

分散式系統詳解--框架(Hadoop-Ssh登陸配置)

              分散式系統詳解--框架(Hadoop-Ssh免密登陸配置)          配置Ssh非常簡單,其實就是為了避免將來叢集機器變得很多導致操作本機、

大資料入門(5)配置ssh登陸

登陸的115 1、使用ssh登陸     ssh  192.168.1.116      輸入密碼     登陸成功     退出:exit 2、

配置ssh登陸

免密配置 執行命令 ssh-keygen ,一路回車,在當前使用者 ~.ssh下會有三個檔案(id_rsa,id_rsa.pub,known_hosts), 再新增一個authorized_keys 檔案,將你想免密的機器全部如此配置,將所有機器的id_rsa.pub 內容拷貝進author

Linux Hadoop叢集搭建第二步:--------SSH登陸

內容和Linux 搭建 Hadoop叢集--Jdk配置 相關聯 三臺虛擬機器的操作 Linux SSH免密登陸: 參考網址:http://www.cnblogs.com/999-/p/6884861.html 第一步:在master主機上 vim /etc/ssh/sshd_config 

伺服器配置ssh登陸

之前為了測試方便,買了個國內的低配VPS用於部署java測試,配置為1核2G、2M頻寬上線、20GSSD,雖然是個乞丐版的配置,但是部署一下幾個常用服務端程式還是差不多夠了。然後當天,我一心歡喜的裝上JDK、mysql、zookeeper等程式,但是之後一個禮拜不到,我發現我

SSH登陸設定

ssh免密碼輸入        命令: ssh-keygen -t rsa     回車回車回車...       檢視鑰匙鏈 先 cd /root/.ssh

Linux普通使用者配置登陸

最近搭建hadoop叢集,專門建立了一個使用者hadoop,配置免密登陸時一直不成功,每次都要我輸入密碼,開始我以為是我的公鑰不正確,後來才想起來,以前配置的時候就遇到這個問題,然後現在記下來,防止以

Linux的ssh登陸

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

ssh登陸指令碼

執行指令碼前面需要先配置好/etc/hosts檔案的ip對映,這個指令碼是根據hosts檔案的ip進行免密登陸配置的 密碼可以自己修改PWD_1 執行需要聯網需要聯網 #!/bin/bash

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

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

Linux 普通使用者之間登陸

環境 centos6.5 NN01 centos6.5 NN02 目的: 同臺機器之間實現普通使用者之間的免密登陸: NN01 的user1 免密登陸 user2 不同機器之間實現普通使用者之間的免密登陸 :NN01 的user1 免密登陸

expect 批量自動部署ssh 登陸 之 二

ket secret continue host parameter gen serve pass tip #!/usr/bin/expect -f ########################################## hutu #Push the