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...