ssh之pub key登陸伺服器

2021-09-29 15:57:56 字數 2033 閱讀 8565

1.建立使用者

useradd demo
2.設定使用者密碼

passwd demo

# 輸入密碼

# 回車

3.生成 .ssh目錄

# 切換使用者

su demo

# 生成金鑰

ssh-keygen -t rsa -b 4096 -c '[email protected]'

# 進入 ssh目錄

cd ~/.ssh

# 檢視金鑰

ls -a

# 回車

# 是否輸入密碼 看個人情況

4.配置sshd_config

# 開啟sshd_config

vim /etc/ssh/sshd_config

# 去掉前面的注釋

pubkeyauthentication yes

# 允許公鑰登陸

authorizedkeysfile .ssh/authorized_keys # 表示存放pub-key的位址

passwordauthentication yes

# 表示允許密碼登陸 注意:當公鑰能連上伺服器時 要改為 no

1.開啟git bash

# 生成金鑰

ssh-keygen -t rsa -b 4096 -c '備註'

# 回車

# 是否輸入密碼 看個人情況

2.進入 .ssh目錄

cd ~/.ssh

# 檢視所有檔案包括隱藏目錄

ls -a

3.scp上傳pub-key

# 例子:

scp id_rsa.pub [email protected]:/tmp

4.伺服器配置

# 進入臨時目錄

cd /tmp

# 檢視上傳的pub-key檔案

ls -a

# 重新命名 pub-key檔案

mv id_rsa.pub authorized_keys

# 移動pub-key檔案到 .ssh目錄下

mv authorized_keys ~/.ssh

5.連線測試

ssh [email protected]

# 連線成功 並且不用輸入密碼

# 失敗 則檢查前面配置

1.修改sudoers 檔案許可權

# 給予寫許可權

chmod 777 /etc/sudoers

# 打sudoers檔案

vim /etc/sudoers

# 在allow root to run any commands anywhere下新增 和root 一樣的配置

user all=

(all) all

# 儲存退出

2.修改sudoers許可權為 440

chmod 440 /etc/sudoers
1.上傳檔案

scp

file user@service_ip:/dir

scp user@service_ip:/dir/file /local/dir
3.上傳目錄到伺服器

scp -r /local/dir user@service_ip:/dir
scp -r user@service_ip:/dir /tmp/local_dir
這是 .ssh目錄的許可權問題導致,解決辦法如下

cd ~

sudo

chmod 700 .ssh

cd .ssh

sudo

chmod 600 *

SSH登陸遠端伺服器

預設配置 windows下有很多ssh工具。在這裡我是用的是putty。如果安裝了git並配置使用putty的話,就不需要另外在安裝putty了。使用ssh連線伺服器的命令如下 ssh 使用者名稱 ip位址 p 埠號 如果連線成功的話會提示你輸入遠端伺服器的密碼。全部成功之後ssh就會顯示遠端伺服器...

ssh 登陸伺服器原理

這裡分兩種情況,這兩種情況都涉及到公鑰加密的概念。由於公鑰加密概念作為基礎就不在本文進行討論了。使用ssh對遠端伺服器進行密碼登入發生了什麼 客戶端通過ssh連線伺服器 1.首先伺服器把自己的公鑰發給客戶端,客戶端將自己的登入密碼通過伺服器發給自己的公鑰進行加密。然後傳送給伺服器。2.伺服器通過自己...

反向ssh登陸內網伺服器

參考文獻 a要控制b a主機 外網,ip 123.123.123.123,sshd埠 22 b主機 內網,sshd埠 22 無論是外網主機a,還是內網主機b都需要跑ssh daemon 執行第乙個命令 ssh nfr 1234 localhost 22 user1 123.123.123.123 p...