作者s9209122222 (海海海)
看板Linux
標題[問題] SSH 連線一直說 Permission denied (publickey)
時間Wed May 25 15:55:59 2016
我先是用了 ssh-keygen 產生 public key 和 private key
然後打 ssh-copy-id -i ~/.ssh/id_rsa.pub username@筆電IP
把 PasswordAuthentication 變成 no
PubkeyAuthentication 原本就是 yes
然後把 AuthorizedKeysFile 前面的井字號給拿掉
把 port 打開後重新啟動 ssh
但結果就是連不上
-----------------------------------------------------------------------
問題已解決,我 private key 和 public key 要給的對象搞錯了
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 122.117.207.31
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Linux/M.1464162962.A.1E4.html
※ 編輯: s9209122222 (122.117.207.31), 05/25/2016 15:56:44
1F:→ kerwinhui: 是重新啟動sshd不是ssh吧? 05/25 16:01
2F:→ kerwinhui: AuthorizedKeysFile不要uncomment,default是會看 05/25 16:04
3F:→ s9209122222: 結果都一樣耶 05/25 16:05
4F:→ kerwinhui: AuthorizedKeysCommand 沒設吧? 05/25 16:09
5F:→ kerwinhui: 另外應該設 RSAAuthentication yes 05/25 16:10
6F:→ s9209122222: 那個本來預設就是 yes 05/25 16:21
7F:→ s9209122222: 原來 public key 是要放在 server 上的? 05/25 16:21
8F:→ s9209122222: 我用桌電連筆電就可以了 05/25 16:21
9F:→ s9209122222: 但我把桌電的 PasswordAuthentication 註解掉居然還 05/25 16:22
10F:→ s9209122222: 是 Permission denied (publickey)! 05/25 16:22
11F:→ s9209122222: 這是什麼情況…… 05/25 16:22
12F:→ s9209122222: 恩…剛剛註解錯了,沒問題了 05/25 16:26
13F:→ s9209122222: 所以說就是我搞錯方向了,我還以為 private key 要留 05/25 16:26
14F:→ s9209122222: 在 server,然後把 public key 發出去給大家 05/25 16:27
15F:→ s9209122222: 為什麼 A 要連 B 反而是傳給 B public key 啊? 05/25 16:29
16F:→ kerwinhui: 因為A要證明給B看 A不是假冒的,B才願意給A資源啊 05/25 16:35
17F:→ kerwinhui: 不然路人甲去下載你的public key就可以連上B了 05/25 16:36
18F:→ s9209122222: 可是這樣不是隨便一個人產生 key 後傳到 server 就可 05/25 16:38
19F:→ s9209122222: 以連上我的電腦了嗎? 05/25 16:38
20F:→ kerwinhui: A要連上B時,A自己有private key和B上的public key吻合 05/25 16:39
21F:→ s9209122222: public key 在 B 那端是只可以有一組嗎? 05/25 16:41
22F:→ kerwinhui: 你什麼會想要server連上你家電腦?通常是你的電腦連上 05/25 16:42
23F:→ kerwinhui: server吧。 05/25 16:42
24F:→ kerwinhui: B上可以有很多組不同的public key,你用A,C,D,E...連上 05/25 16:44
25F:→ s9209122222: 我的電腦是 server 端(B),筆電是 client 端(A) 05/25 16:44
26F:→ s9209122222: 然我用筆電連電腦 05/25 16:44
27F:→ kerwinhui: B用不一樣的key 05/25 16:45
28F:→ s9209122222: 那想要連我電腦的不是只要知道我 IP ,然後用前兩步 05/25 16:47
29F:→ s9209122222: 就可以連上我的電腦了嗎? 05/25 16:47
30F:→ s9209122222: 就產生 key 然後傳到我的電腦 05/25 16:47
31F:→ kerwinhui: 這樣你的private key只在你有完全控制的電腦(筆電)上 05/25 16:48
32F:→ kerwinhui: ssh-copy-id servername 要你在 servername 有帳號才行 05/25 16:49
33F:→ s9209122222: 帳號是指我上面寫的 username@ip 那邊嗎? 05/25 16:50
34F:→ kerwinhui: 舉例:我不能ssh-copy-id XXX.mil然後就看軍事機密,因 05/25 16:51
35F:→ kerwinhui: 為我沒有XXX.mil的帳號 05/25 16:51
36F:→ kerwinhui: 是的 05/25 16:52
37F:→ s9209122222: 那被知道 username 我不就慘了? 05/25 16:52
38F:→ s9209122222: 不就每個人創一組 key 然後傳到我電腦就隨意進出了? 05/25 16:54
39F:→ kerwinhui: 不會,除非他本身就能上你電腦,不然ssh-copy-id會失敗 05/25 17:02
40F:→ s9209122222: 是 PasswordAuthentication 要先打開才有辦法傳嗎? 05/25 17:04
41F:→ kerwinhui: 因為ssh-copy-id只是ssh上你電腦上再把key寫進去檔案裡 05/25 17:05
42F:→ s9209122222: 大概了解了,感謝 05/25 17:07
43F:→ s9209122222: 所以說他無法打密碼的狀況下也無法傳就是了 05/25 17:08
44F:→ kerwinhui: 如果他本身就有你的private key也能上傳別的public key 05/25 17:09
45F:→ s9209122222: 所以 private key 就像是鑰匙,public 就像門上的鑰 05/25 17:11
46F:→ s9209122222: 匙孔的意思嗎?所以 private key 可以傳給其他電腦用 05/25 17:11
47F:→ s9209122222: 囉? 05/25 17:11
48F:→ kerwinhui: 對,但「有鑰匙」的電腦用戶就可以說他是你了,所以請 05/25 17:14
49F:→ kerwinhui: 好好保管 05/25 17:15
※ 編輯: s9209122222 (122.117.207.31), 05/25/2016 17:59:34
50F:→ s9209122222: 話說用這種方式應該就不用改 port 了對吧? 05/25 20:57
51F:→ IKAFIRE: 改一下還是會比較好 05/25 22:45
52F:→ danny8376: port也改比較安全 省得ssh有0day馬上掃到馬上死 05/25 22:46
53F:推 wgst88w: 哈哈~~先前我還很天真地要把private key上傳到PTT,超危 05/26 01:18
54F:→ wgst88w: 險的。 05/26 01:19
55F:推 Debian: 轉錄至看板StupidClown。 05/26 01:29
56F:→ s8321414: 樓上你XDD 05/26 13:05
57F:推 JackBaska: 其實不見得,ssh安全設定高一點可以讓他檢視你的 05/26 15:03
58F:→ JackBaska: finger print, 發現電腦 finger print不對也是不給你進 05/26 15:03
59F:→ s9209122222: 蛤? 05/26 17:06