一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

SSH常用命令詳解

馬哥Linux運(yùn)維 ? 來(lái)源:CSDN技術(shù)社區(qū) ? 2025-06-04 11:30 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

SSH常用命令

SSH安裝

1. ubuntu

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

1. SSH 連接命令

# 基本連接
ssh username@hostname

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

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

2. SSH 密鑰管理

# 生成 SSH 密鑰對(duì)
ssh-keygen -t rsa -b 4096

# 復(fù)制公鑰到遠(yuǎn)程服務(wù)器
ssh-copy-id username@hostname

# 查看已知主機(jī)
cat~/.ssh/known_hosts

3.SSH傳輸文件

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

# 2、上傳本地文件到服務(wù)器
scp /path/filename username@servername:/path 
# 例如scp /var/www/test.php root@192.168.0.101:/var/www/ 把本機(jī)/var/www/目錄下的test.php文件上傳到192.168.0.101這臺(tái)服務(wù)器上的/var/www/目錄中

# 3、從服務(wù)器下載整個(gè)目錄
scp -r username@servername:/var/www/remote_dir/(遠(yuǎn)程目錄) /var/www/local_dir(本地目錄)
# 例如:scp -r root@192.168.0.101:/var/www/test /var/www/ 

# 4、上傳目錄到服務(wù)器
scp -r local_dir username@servername:remote_dir
# 例如:scp -r test root@192.168.0.101:/var/www/  把當(dāng)前目錄下的test目錄上傳到服務(wù)器的/var/www/ 目錄

4. SSH 端口轉(zhuǎn)發(fā)

# 本地端口轉(zhuǎn)發(fā)
ssh -L local_porttarget_port username@hostname

# 遠(yuǎn)程端口轉(zhuǎn)發(fā)
ssh -R remote_porttarget_port username@hostname
#不發(fā)送任何命令,只用來(lái)建立連接。沒(méi)有這個(gè)參數(shù),會(huì)在 SSH 服務(wù)器打開(kāi)一個(gè) Shell。會(huì)在前臺(tái)打開(kāi)
ssh -R <服務(wù)器端口>22 -N root@<服務(wù)器地址>
# 將SSH命令放到后臺(tái),如果想要停止需要?dú)⑺肋M(jìn)程  ( 比較常用 )
ssh -R <服務(wù)器端口>22 -Nf root@<服務(wù)器地址>

# 動(dòng)態(tài)端口轉(zhuǎn)發(fā)(SOCKS代理)
ssh -D local_port username@hostname






# 基本格式
ssh [選項(xiàng)] username@hostname

# 常用選項(xiàng)說(shuō)明
-L [本地IP:]本地端口:目標(biāo)IP:目標(biāo)端口  # 本地端口轉(zhuǎn)發(fā)
-R [遠(yuǎn)程IP:]遠(yuǎn)程端口:目標(biāo)IP:目標(biāo)端口  # 遠(yuǎn)程端口轉(zhuǎn)發(fā)
-D [本地IP:]本地端口          # 動(dòng)態(tài)端口轉(zhuǎn)發(fā)(SOCKS代理)

# 重要的輔助選項(xiàng)
-N   # 不執(zhí)行遠(yuǎn)程命令,僅用于端口轉(zhuǎn)發(fā)
-f   # 后臺(tái)運(yùn)行
-C   # 壓縮數(shù)據(jù)傳輸
-q   # 安靜模式,減少日志輸出
-v   # 詳細(xì)模式,用于調(diào)試
-vv  # 更詳細(xì)的模式
-4   # 僅使用 IPv4
-6   # 僅使用 IPv6
# 連接相關(guān)選項(xiàng)
-p 端口 # 指定 SSH 服務(wù)器端口
-i 密鑰 # 指定私鑰文件路徑

5. SSH 配置管理

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

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

常見(jiàn)用途對(duì)比:

1.安全性

? 密碼登錄:便捷但相對(duì)不安全

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

2.傳輸方式

?scp:簡(jiǎn)單直接,適合臨時(shí)傳輸

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

3.端口轉(zhuǎn)發(fā)

? 本地轉(zhuǎn)發(fā):訪問(wèn)遠(yuǎn)程內(nèi)網(wǎng)服務(wù)

? 遠(yuǎn)程轉(zhuǎn)發(fā):讓遠(yuǎn)程訪問(wèn)本地服務(wù)

? 動(dòng)態(tài)轉(zhuǎn)發(fā):創(chuàng)建 SOCKS 代理

4.連接管理

? 普通連接:一次性使用

? 配置文件:適合經(jīng)常連接的服務(wù)器

使用建議:

1. 優(yōu)先使用密鑰認(rèn)證

2. 重要服務(wù)器建議修改默認(rèn) 22 端口

3. 經(jīng)常連接的服務(wù)器建議配置~/.ssh/config

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

5. 注意保護(hù)好私鑰文件的安全

這些命令和用法覆蓋了日常 SSH 使用的大部分場(chǎng)景,建議根據(jù)實(shí)際需求選擇合適的命令使用。

Ubuntu 下SSH 服務(wù)的啟動(dòng)、停止和管理方法:

安裝 SSH服務(wù)

# 安裝 OpenSSH 服務(wù)器
sudoapt update
sudoapt install openssh-server

1. service 命令(傳統(tǒng)方式)

# 啟動(dòng)
sudoservice ssh start

# 停止
sudoservice ssh stop

# 重啟
sudoservice ssh restart

# 查看狀態(tài)
sudoservice ssh status

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

# 啟動(dòng)
sudo/etc/init.d/ssh start

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

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

# 查看狀態(tài)
sudo/etc/init.d/ssh status

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

# 啟動(dòng)
sudosystemctl start sshd

# 停止
sudosystemctl stop sshd

# 重啟
sudosystemctl restart sshd

# 查看狀態(tài)
sudosystemctl status sshd

4. 直接啟動(dòng) sshd 進(jìn)程

# 直接啟動(dòng) sshd
sudo/usr/sbin/sshd

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

不同系統(tǒng)的區(qū)別:

1.Ubuntu/Debian系統(tǒng)中服務(wù)名通常是ssh

sudoservice ssh start

2.CentOS/RHEL系統(tǒng)中服務(wù)名通常是sshd

sudoservice sshd start

注意事項(xiàng):

1. 現(xiàn)代 Linux 系統(tǒng)推薦使用systemctl命令

2.service命令在新系統(tǒng)中實(shí)際上是systemctl的封裝

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

4. 直接啟動(dòng)sshd進(jìn)程通常用于調(diào)試目的

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

? 系統(tǒng)版本

? 個(gè)人習(xí)慣

? 具體需求(如調(diào)試)

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

3. SSH 配置文件位置

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

# 常見(jiàn)配置項(xiàng)示例
Port 22          # SSH 端口
PermitRootLogin no    # 禁止 root 登錄
PasswordAuthenticationyes# 允許密碼認(rèn)證

4. 檢查 SSH 服務(wù)

# 檢查 SSH 是否正在運(yùn)行
ps aux | grep ssh

# 檢查 SSH 端口是否開(kāi)放
sudonetstat -tulpn | grep ssh

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

5. 防火墻設(shè)置

# 允許 SSH 連接
sudoufw allow ssh

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

常見(jiàn)問(wèn)題解決:

1.服務(wù)無(wú)法啟動(dòng)

# 查看詳細(xì)日志
sudojournalctl -u ssh

# 檢查配置文件語(yǔ)法
sudosshd -t

2.權(quán)限問(wèn)題

# 修復(fù) SSH 目錄權(quán)限
sudochmod755 /etc/ssh
sudochmod600 /etc/ssh/ssh_host_*_key
sudochmod644 /etc/ssh/ssh_host_*_key.pub

安全建議:

1.基本安全配置

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

# 推薦的安全設(shè)置
PermitRootLogin no
PasswordAuthentication no
MaxAuthTries 3
Protocol 2

2.使用密鑰認(rèn)證

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

# 將公鑰復(fù)制到服務(wù)器
ssh-copy-id username@server_ip

常用維護(hù)命令:

1.查看連接狀態(tài)

# 查看當(dāng)前 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 服務(wù)才能生效:

sudosystemctl restart ssh

這些是 Ubuntu 下管理 SSH 服務(wù)的基本操作,建議在修改配置時(shí)先備份,并保持一個(gè)可用的連接會(huì)話,以防配置錯(cuò)誤導(dǎo)致無(wú)法連接。

SSH 問(wèn)題

解決 ssh 連接遠(yuǎn)程主機(jī)超時(shí)未使用自動(dòng)斷開(kāi)

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

這個(gè)問(wèn)題可以通過(guò)配置 SSH 客戶端來(lái)保持連接活躍。有以下幾種解決方案:

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

  Host *
  ServerAliveInterval60
  ServerAliveCountMax3

這個(gè)配置的含義是:
- ServerAliveInterval60:每60秒發(fā)送一次心跳包
- ServerAliveCountMax3:如果連續(xù)3次心跳包沒(méi)有響應(yīng),則斷開(kāi)連接

2.在建立 SSH 連接時(shí)直接指定參數(shù):

  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.如果你是服務(wù)器管理員,也可以通過(guò)修改服務(wù)器端的 SSH 配置(/etc/ssh/sshd_config)來(lái)實(shí)現(xiàn):

  ClientAliveInterval60
  ClientAliveCountMax3

修改服務(wù)器配置后需要重啟 SSH 服務(wù):

  sudo systemctl restart sshd

推薦使用第一種方案(修改客戶端配置文件),因?yàn)椋?1.只需配置一次,永久生效
2.對(duì)所有 SSH 連接都有效
3.不需要每次手動(dòng)輸入?yún)?shù)

注意:設(shè)置的時(shí)間間隔不要太短(比如小于30秒),否則可能會(huì)增加不必要的網(wǎng)絡(luò)開(kāi)銷(xiāo)。60秒通常是一個(gè)比較好的選擇。


Windows 下關(guān)閉 SSH 后臺(tái)連接的方法 (在使用端口轉(zhuǎn)發(fā)設(shè)置參數(shù)為-f時(shí))

1. 使用任務(wù)管理器:

# 打開(kāi)任務(wù)管理器的方法:
# 1. Ctrl + Shift + Esc
# 2. 右鍵任務(wù)欄 -> 任務(wù)管理器
# 3. Ctrl + Alt + Delete -> 任務(wù)管理器

# 在"詳細(xì)信息"或"進(jìn)程"標(biāo)簽下找到 ssh.exe 進(jìn)程并結(jié)束

2. 使用命令行查找和終止進(jìn)程:

# PowerShell 命令
# 查看 SSH 進(jìn)程
Get-Processssh

# 終止所有 SSH 進(jìn)程
Get-Processssh |Stop-Process

# 或者使用 CMD 命令
# 查看 SSH 進(jìn)程
tasklist | findstr"ssh"

# 通過(guò) PID 終止進(jìn)程
taskkill /PID <進(jìn)程ID> /F

# 終止所有 SSH 進(jìn)程
taskkill /F /IM ssh.exe

3. 如果使用 Git Bash:

# 查看 SSH 進(jìn)程
ps aux | grep ssh

# 終止進(jìn)程
kill<進(jìn)程ID>

建議:

1. 在使用-Nf啟動(dòng) SSH 連接時(shí),可以記錄下進(jìn)程 ID:

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

2. 創(chuàng)建一個(gè)批處理文件來(lái)管理連接:

@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

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 端口
    +關(guān)注

    關(guān)注

    4

    文章

    1046

    瀏覽量

    32820
  • 命令
    +關(guān)注

    關(guān)注

    5

    文章

    734

    瀏覽量

    22792
  • Ubuntu
    +關(guān)注

    關(guān)注

    5

    文章

    590

    瀏覽量

    31041
  • SSH
    SSH
    +關(guān)注

    關(guān)注

    0

    文章

    196

    瀏覽量

    16851

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

文章出處:【微信號(hào):magedu-Linux,微信公眾號(hào):馬哥Linux運(yùn)維】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    windowsxp常用命令

    windowsxp常用命令   winver---------檢查windows版本 wmimgmt.msc----打開(kāi)windows管理體系結(jié)構(gòu)(wmi) wupdmgr-------
    發(fā)表于 01-10 09:05 ?1376次閱讀

    Ubuntu常用命令大全

    Ubuntu常用命令大全,包括常用管理目錄,系統(tǒng)命令,硬盤(pán)相關(guān),內(nèi)存相關(guān),查看進(jìn)程等命令
    發(fā)表于 01-06 11:16 ?0次下載

    DOS常用命令寶典

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

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

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

    vim常用命令

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

    redis常用命令總結(jié)

    本文是對(duì)redis常用命令總結(jié)。
    發(fā)表于 02-09 11:25 ?1685次閱讀

    Linux常用命令的全拼整理

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

    Linux教程之Linux常用命令大全

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

    linux常用命令手冊(cè)

    linux常用命令手冊(cè)免費(fèi)下載。
    發(fā)表于 06-01 14:59 ?70次下載

    Memcache系統(tǒng)常用命令講解

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

    linux常用命令大全

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

    DOS系統(tǒng)常用命令

    介紹了DOS系統(tǒng)的常用命令。
    發(fā)表于 03-21 14:59 ?0次下載

    Linux常用命令

    Linux常用命令
    的頭像 發(fā)表于 01-12 11:19 ?1365次閱讀

    Linux常用命令手冊(cè)分享

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

    詳解kubectl常用命令

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