女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

SSH常用命令詳解

馬哥Linux運維 ? 來源:CSDN技術社區 ? 2025-06-04 11:30 ? 次閱讀

SSH常用命令

SSH安裝

1. ubuntu

sudoapt update# 更新倉庫
sudoapt install openssh-server# 安裝openssh
vi /etc/ssh/sshd_config# 進入配置文件,找到port=22那行,取消注釋
sudoservice ssh restart# 重啟服務,然后就可以連接了,有時候root用戶連不上,可以用普通用戶登錄再切換到root

1. SSH 連接命令

# 基本連接
ssh username@hostname

# 指定端口連接
ssh -p 2222 username@hostname

# 使用密鑰連接
ssh -i /path/to/private_key username@hostname

2. SSH 密鑰管理

# 生成 SSH 密鑰對
ssh-keygen -t rsa -b 4096

# 復制公鑰到遠程服務器
ssh-copy-id username@hostname

# 查看已知主機
cat~/.ssh/known_hosts

3.SSH傳輸文件

# 1、從服務器上下載文件
scp username@servername:/path/filename /var/www/local_dir(本地目錄)
# 例如scp [email protected]:/var/www/test.txt 把192.168.0.101上的/var/www/test.txt 的文件下載到/var/www/local_dir(本地目錄)

# 2、上傳本地文件到服務器
scp /path/filename username@servername:/path 
# 例如scp /var/www/test.php [email protected]:/var/www/ 把本機/var/www/目錄下的test.php文件上傳到192.168.0.101這臺服務器上的/var/www/目錄中

# 3、從服務器下載整個目錄
scp -r username@servername:/var/www/remote_dir/(遠程目錄) /var/www/local_dir(本地目錄)
# 例如:scp -r [email protected]:/var/www/test /var/www/ 

# 4、上傳目錄到服務器
scp -r local_dir username@servername:remote_dir
# 例如:scp -r test [email protected]:/var/www/  把當前目錄下的test目錄上傳到服務器的/var/www/ 目錄

4. SSH 端口轉發

# 本地端口轉發
ssh -L local_porttarget_port username@hostname

# 遠程端口轉發
ssh -R remote_porttarget_port username@hostname
#不發送任何命令,只用來建立連接。沒有這個參數,會在 SSH 服務器打開一個 Shell。會在前臺打開
ssh -R <服務器端口>22 -N root@<服務器地址>
# 將SSH命令放到后臺,如果想要停止需要殺死進程  ( 比較常用 )
ssh -R <服務器端口>22 -Nf root@<服務器地址>

# 動態端口轉發(SOCKS代理)
ssh -D local_port username@hostname






# 基本格式
ssh [選項] username@hostname

# 常用選項說明
-L [本地IP:]本地端口:目標IP:目標端口  # 本地端口轉發
-R [遠程IP:]遠程端口:目標IP:目標端口  # 遠程端口轉發
-D [本地IP:]本地端口          # 動態端口轉發(SOCKS代理)

# 重要的輔助選項
-N   # 不執行遠程命令,僅用于端口轉發
-f   # 后臺運行
-C   # 壓縮數據傳輸
-q   # 安靜模式,減少日志輸出
-v   # 詳細模式,用于調試
-vv  # 更詳細的模式
-4   # 僅使用 IPv4
-6   # 僅使用 IPv6
# 連接相關選項
-p 端口 # 指定 SSH 服務器端口
-i 密鑰 # 指定私鑰文件路徑

5. SSH 配置管理

# 編輯 SSH 配置文件
vim ~/.ssh/config

# 配置文件示例
Host myserver
  HostName hostname
  User username
  Port 2222
  IdentityFile ~/.ssh/id_rsa

常見用途對比:

1.安全性

? 密碼登錄:便捷但相對不安全

? 密鑰登錄:更安全,推薦使用

2.傳輸方式

?scp:簡單直接,適合臨時傳輸

?rsync:支持增量傳輸,適合大量文件同步

3.端口轉發

? 本地轉發:訪問遠程內網服務

? 遠程轉發:讓遠程訪問本地服務

? 動態轉發:創建 SOCKS 代理

4.連接管理

? 普通連接:一次性使用

? 配置文件:適合經常連接的服務器

使用建議:

1. 優先使用密鑰認證

2. 重要服務器建議修改默認 22 端口

3. 經常連接的服務器建議配置~/.ssh/config

4. 大文件傳輸建議使用rsync而不是scp

5. 注意保護好私鑰文件的安全

這些命令和用法覆蓋了日常 SSH 使用的大部分場景,建議根據實際需求選擇合適的命令使用。

Ubuntu 下SSH 服務的啟動、停止和管理方法:

安裝 SSH服務

# 安裝 OpenSSH 服務器
sudoapt update
sudoapt install openssh-server

1. service 命令(傳統方式)

# 啟動
sudoservice ssh start

# 停止
sudoservice ssh stop

# 重啟
sudoservice ssh restart

# 查看狀態
sudoservice ssh status

2. /etc/init.d 腳本方式

# 啟動
sudo/etc/init.d/ssh start

# 停止
sudo/etc/init.d/ssh stop

# 重啟
sudo/etc/init.d/ssh restart

# 查看狀態
sudo/etc/init.d/ssh status

3. systemctl 命令(現代 systemd 方式)

# 啟動
sudosystemctl start sshd

# 停止
sudosystemctl stop sshd

# 重啟
sudosystemctl restart sshd

# 查看狀態
sudosystemctl status sshd

4. 直接啟動 sshd 進程

# 直接啟動 sshd
sudo/usr/sbin/sshd

# 使用特定配置文件啟動
sudo/usr/sbin/sshd -f /path/to/sshd_config

不同系統的區別:

1.Ubuntu/Debian系統中服務名通常是ssh

sudoservice ssh start

2.CentOS/RHEL系統中服務名通常是sshd

sudoservice sshd start

注意事項:

1. 現代 Linux 系統推薦使用systemctl命令

2.service命令在新系統中實際上是systemctl的封裝

3./etc/init.d腳本方式是最傳統的方法,但仍被支持

4. 直接啟動sshd進程通常用于調試目的

選擇哪種方式主要取決于:

? 系統版本

? 個人習慣

? 具體需求(如調試)

所有這些方法都能達到相同的目的,只是使用的方式不同。

3. SSH 配置文件位置

# 主配置文件
sudovim /etc/ssh/sshd_config

# 常見配置項示例
Port 22          # SSH 端口
PermitRootLogin no    # 禁止 root 登錄
PasswordAuthenticationyes# 允許密碼認證

4. 檢查 SSH 服務

# 檢查 SSH 是否正在運行
ps aux | grep ssh

# 檢查 SSH 端口是否開放
sudonetstat -tulpn | grep ssh

# 檢查防火墻是否允許 SSH
sudoufw status

5. 防火墻設置

# 允許 SSH 連接
sudoufw allow ssh

# 允許特定端口(如果修改了默認端口)
sudoufw allow 2222/tcp

常見問題解決:

1.服務無法啟動

# 查看詳細日志
sudojournalctl -u ssh

# 檢查配置文件語法
sudosshd -t

2.權限問題

# 修復 SSH 目錄權限
sudochmod755 /etc/ssh
sudochmod600 /etc/ssh/ssh_host_*_key
sudochmod644 /etc/ssh/ssh_host_*_key.pub

安全建議:

1.基本安全配置

# 編輯 SSH 配置文件
sudovim /etc/ssh/sshd_config

# 推薦的安全設置
PermitRootLogin no
PasswordAuthentication no
MaxAuthTries 3
Protocol 2

2.使用密鑰認證

# 在客戶端生成密鑰對
ssh-keygen -t rsa -b 4096

# 將公鑰復制到服務器
ssh-copy-id username@server_ip

常用維護命令:

1.查看連接狀態

# 查看當前 SSH 連接
who
w

# 查看 SSH 登錄日志
sudocat/var/log/auth.log | grep ssh

2.配置文件備份

# 備份 SSH 配置
sudocp/etc/ssh/sshd_config /etc/ssh/sshd_config.backup

記住,每次修改 SSH 配置文件后,都需要重啟 SSH 服務才能生效:

sudosystemctl restart ssh

這些是 Ubuntu 下管理 SSH 服務的基本操作,建議在修改配置時先備份,并保持一個可用的連接會話,以防配置錯誤導致無法連接。

SSH 問題

解決 ssh 連接遠程主機超時未使用自動斷開

參考:https://blog.csdn.net/Gelomen/article/details/109121069

這個問題可以通過配置 SSH 客戶端來保持連接活躍。有以下幾種解決方案:

1.修改 SSH 客戶端配置文件(推薦方案):
編輯 ~/.ssh/config 文件(如果沒有則創建),添加以下配置:

  Host *
  ServerAliveInterval60
  ServerAliveCountMax3

這個配置的含義是:
- ServerAliveInterval60:每60秒發送一次心跳包
- ServerAliveCountMax3:如果連續3次心跳包沒有響應,則斷開連接

2.在建立 SSH 連接時直接指定參數:

  ssh -o ServerAliveInterval=60-o ServerAliveCountMax=3user@remote-server

3.如果是在使用 SSH 隧道,可以這樣:

  ssh -N -f -o ServerAliveInterval=60-o ServerAliveCountMax=3-L local-port:remote-host:remote-port user@remote-server

4.如果你是服務器管理員,也可以通過修改服務器端的 SSH 配置(/etc/ssh/sshd_config)來實現:

  ClientAliveInterval60
  ClientAliveCountMax3

修改服務器配置后需要重啟 SSH 服務:

  sudo systemctl restart sshd

推薦使用第一種方案(修改客戶端配置文件),因為:
1.只需配置一次,永久生效
2.對所有 SSH 連接都有效
3.不需要每次手動輸入參數

注意:設置的時間間隔不要太短(比如小于30秒),否則可能會增加不必要的網絡開銷。60秒通常是一個比較好的選擇。


Windows 下關閉 SSH 后臺連接的方法 (在使用端口轉發設置參數為-f時)

1. 使用任務管理器:

# 打開任務管理器的方法:
# 1. Ctrl + Shift + Esc
# 2. 右鍵任務欄 -> 任務管理器
# 3. Ctrl + Alt + Delete -> 任務管理器

# 在"詳細信息"或"進程"標簽下找到 ssh.exe 進程并結束

2. 使用命令行查找和終止進程:

# PowerShell 命令
# 查看 SSH 進程
Get-Processssh

# 終止所有 SSH 進程
Get-Processssh |Stop-Process

# 或者使用 CMD 命令
# 查看 SSH 進程
tasklist | findstr"ssh"

# 通過 PID 終止進程
taskkill /PID <進程ID> /F

# 終止所有 SSH 進程
taskkill /F /IM ssh.exe

3. 如果使用 Git Bash:

# 查看 SSH 進程
ps aux | grep ssh

# 終止進程
kill<進程ID>

建議:

1. 在使用-Nf啟動 SSH 連接時,可以記錄下進程 ID:

# 將進程 ID 保存到文件
ssh -Nf ... &echo$! > ssh_pid.txt

2. 創建一個批處理文件來管理連接:

@echo off
REM start_ssh.bat
ssh -Nf ... & echo %ERRORLEVEL% > ssh_pid.txt

REM stop_ssh.bat
for /f %%i in (ssh_pid.txt) do taskkill /PID %%i /F
del ssh_pid.txt

鏈接:https://blog.csdn.net/qq_41685627/article/details/140019998

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 端口
    +關注

    關注

    4

    文章

    1045

    瀏覽量

    32718
  • 命令
    +關注

    關注

    5

    文章

    730

    瀏覽量

    22674
  • Ubuntu
    +關注

    關注

    5

    文章

    586

    瀏覽量

    30826
  • SSH
    SSH
    +關注

    關注

    0

    文章

    194

    瀏覽量

    16794

原文標題:別再只會ssh連接了!這些SSH高階命令讓你的工作效率起飛?

文章出處:【微信號:magedu-Linux,微信公眾號:馬哥Linux運維】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦
    熱點推薦

    windowsxp常用命令

    windowsxp常用命令   winver---------檢查windows版本 wmimgmt.msc----打開windows管理體系結構(wmi) wupdmgr-------
    發表于 01-10 09:05 ?1363次閱讀

    Ubuntu常用命令大全

    Ubuntu常用命令大全,包括常用管理目錄,系統命令,硬盤相關,內存相關,查看進程等命令
    發表于 01-06 11:16 ?0次下載

    DOS常用命令寶典

    DOS常用命令寶典,感興趣的小伙伴們可以瞧一瞧。
    發表于 11-10 18:24 ?0次下載

    04-shell的常用命令匯總與vim

    shell的常用命令匯總
    發表于 12-17 16:04 ?0次下載

    vim常用命令

    vim常用命令
    發表于 01-08 15:59 ?3次下載

    redis常用命令總結

    本文是對redis常用命令總結。
    發表于 02-09 11:25 ?1679次閱讀

    Linux常用命令的全拼整理

    本文整理了常用命令的全拼,好像混進了什么奇怪的東西。
    的頭像 發表于 10-10 17:19 ?4874次閱讀

    Linux教程之Linux常用命令大全

    Linux教程之Linux常用命令大全
    的頭像 發表于 03-30 10:34 ?5919次閱讀

    linux常用命令手冊

    linux常用命令手冊免費下載。
    發表于 06-01 14:59 ?70次下載

    Memcache系統常用命令講解

    Memcache系統常用命令講解(無線電源技術商業計劃書)-該文檔為Memcache系統常用命令講解文檔,是一份還算不錯的參考文檔,感興趣的可以下載看看,,,,,,,,,,,,,,,,
    發表于 09-28 11:27 ?5次下載
    Memcache系統<b class='flag-5'>常用命令</b>講解

    linux常用命令大全

    linux常用命令大全,一些常用命令都可以找到
    發表于 03-03 09:20 ?0次下載

    DOS系統常用命令

    介紹了DOS系統的常用命令
    發表于 03-21 14:59 ?0次下載

    Linux常用命令

    Linux常用命令
    的頭像 發表于 01-12 11:19 ?1336次閱讀

    Linux常用命令手冊分享

    linux常用命令合集
    發表于 04-26 11:46 ?1次下載

    詳解kubectl常用命令

    詳解kubectl常用命令
    的頭像 發表于 11-05 15:39 ?1162次閱讀
    <b class='flag-5'>詳解</b>kubectl<b class='flag-5'>常用命令</b>