Openssh遠程連接服務器

什麼是 Openssh?

  • OpenSSH是目前最流行的遠程系統登錄或文件傳輸應用

主要功能

  • OpenSSH提供了服務端後臺程序(sshd)和客戶端工具(ssh), 用來加密客戶端與服務端通信中的數據和傳輸過程中的文件

關於 SSH(Secure Shell)版本

  1. SSH1是基於 CRC(Cyclic Redundancy Check 循環冗餘校驗)來做校驗數據傳輸, 後來發現這種編碼技術有缺陷
  2. SSH2增加了一個確認聯機正確性的 DH(Diffie-Hellman 密鑰交換協議/算法)機制, 每次數據的傳輸, 服務都會檢查相關數據來源的正確性

SSH2的工作機制

  • 注:OpenSSH是隨機生成公私密鑰的
  1. ssh客戶端請求到服務器
  2. OpenSSH服務器的 sshd將會發送一個公鑰
  3. ssh客戶端將會提示是否接收服務器端發送的公鑰, 同時 ssh客戶端製作密鑰對回傳給服務器, 因而雙方都擁有對方的密鑰, 能夠解密雙方交互的加密數據
  • SSH只有創建連接階段和身份認證握手階段是使用了非對稱加密, 以外的數據傳輸都是對稱密鑰來加密的

基本使用

服務端 sshd

Ubuntu安裝&啓動

  • apt-get install openssh-server
  • /etc/init.d/ssh [start|stop|restart]

CentOS更新&啓動

  • yum update openssh
  • service sshd [start|stop|restart]

查看 sshd是否在進程中

  • ps -ef|grep ssh

root      1013     1  0 Feb26 ?        00:23:01 /usr/sbin/sshd
root     13103  1013  0 07:10 ?        00:00:00 sshd: root@pts/0 
root     13197 13116  0 07:10 pts/0    00:00:00 grep ssh

  • /etc/init.d/sshd status

openssh-daemon (pid  1013) is running...

查看 ssh版本

  • ssh -V

OpenSSH_5.3p1, OpenSSL 1.0.1e-fips 11 Feb 2013

sshd常用配置

  • vim /etc/ssh/sshd_config

Port 22 #端口

PasswordAuthentication yes	# ssh的默認認證方式 [yes/no]
PermitRootLogin yes # root用戶登陸權限 [yes/no]

AllowUsers testuser # 用戶白名單, 允許 testuser登陸, 多個用戶使用空格隔開
AllowGroups # 允許登陸的組白名單

DenyUsers testuser2 # 用戶黑名單, 當前不允許 testuser2登陸
DenyGroups # 不允許登陸的組黑名單

客戶端 ssh登錄


# 使用默認端口 22登錄
ssh [email protected]
# 指定自定義端口登錄
ssh -p 22222 [email protected]
Password: 輸入密碼
Last login: Fri Nov 15 23:38:41 2019 from x.x.x.x

Welcome to aliyun Elastic Compute Service!

生成 RSA密鑰, 用於免密登錄

  • ssh-keygen -t rsa
  • cd /root/.ssh 默認目錄

默認生成密鑰&公鑰
- id_rsa 密鑰
- id_dsa.pub 公鑰

參數 說明
-t [rsa/dsa] 密鑰類型, 建議使用 rsa
-b [1024/2048/4096…] 密鑰長度
-f /PATH/TO/OUTPUT_KEYFILE 指定將要存儲的路徑及密鑰文件 文件名必須爲 id_rsa
-P ‘’ 指定密鑰密碼, ''表示空密碼

如果您覺得有幫助,歡迎點贊哦 ~ 謝謝!!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章