Centos7 配置SSH遠端訪問及控制
-
SSH簡介
OpenSSH是實現SSH協議的開源軟體專案。在CentOS 7中,OpenSSH的rpm包由四部分組成(預設已安裝,並已新增為標準系統服務)
openssh ~ .rpm
、openssh-server ~ .rpm
、openssh-clients ~ .rpm
、openssh-askpass ~ .rpm
組成。OpenSSH的主要配置檔案為:
/etc/ssh/sshd_config #ssh伺服器配置檔案
/etc/ssh/ssh_config #ssh客戶端配置檔案
-
配置檔案說明
Port 22 | 監聽埠 |
ListenAddress 0.0.0.0 | 監聽地址 |
Protocol 2 | 使用SSH V2版本 |
UseDNS no | 禁用DNS反向解析,提高啥響應速度 |
LoginGraceTime 2m | 登入驗證時間為2分鐘 |
PermitRootLogin no | 禁止root使用者登入 |
MaxAuthTries 6 | 最大重試次數為6次 |
PermitEmptyPasswords no | 禁止空密碼登入 |
AllowUsers xiaoli xiaozhang | 只允許xiaoli xiaozhang 登入 |
passwordAuthentication yes | 啟用密碼驗證 |
pubkeyAuthentication yes | 啟用金鑰對驗證 |
AuthorizedKeysFile ./ssh/authorized_keys | 指定公鑰庫檔案 |
-
SSH客戶端命令
ssh -p22 omd@192.168.25.137 登入
ssh omd@192.168.1.100 "ls /home/omd" # 當前伺服器A遠端登入伺服器B後執行某個命令
ssh omd@192.168.1.100 -t "sh /home/omd/ftl.sh" # 遠端登入伺服器後執行某個指令碼
sftp -oPort=22 root@192.168.25.137 sftp客戶端連線
put /etc/hosts /tmp 上傳
get /etc/hosts /home/omd 下載
-
基於金鑰對訪問
[root@localhost ~]# cd /root/.ssh/ 【root使用者就在root目錄下的.ssh目錄】
[root@localhost ~]# cd /home/omd/.ssh/ 【普通使用者就是在家目錄下的.ssh目錄】
[root@localhost .ssh]# ssh-keygen -t dsa # 一路回車即可
id_dsa -->私鑰(鑰匙)
id_dsa.pub -->公鑰(鎖)
[root@localhost .ssh]# ssh-copy-id -i id_dsa.pub –p 666 omd@192.168.25.120
或
scp ~/.ssh/id_ecdsa.pub root@192.168.1.1:/mnt
root@192.168.1.1's password: //輸入密碼
id_ecdsa.pub 100% 179 0.2KB/s 00:00
在伺服器中匯入公鑰檔案
[root@fuwuduan ~]# mkdir /home/xiaozhang/.ssh
[root@fuwuduan ~]# cat /mnt/id_ecdsa.pub >> /home/xiaozhang/.ssh/authorized_keys
[root@fuwuduan ~]# cat /home/xiaozhang/.ssh/authorized_keys
在客戶端使用金鑰對驗證
ssh xiaozhang@192.168.1.1
Last login: Thu Aug 8 16:03:33 2019 from 192.168.1.2
//不用輸入密碼,即可連線,實驗完成!