ssh學(xué)習(xí)

  • 生成密鑰

    1. 默認(rèn)密鑰

      ssh-keygen -t rsa -C zcw1994@live.com
      
    2. 生成自定義文件名密鑰

      ssh-keygen -t rsa -f ~/.ssh/id_rsa_github -C zcw1994@live.com
      
    3. 多密鑰配置

      添加文件~/.ssh/config,內(nèi)容如下

      Host test-github                        #網(wǎng)站本地別稱,建議設(shè)置成網(wǎng)站域名,該行不要直接復(fù)制,具體見下文
      Hostname github.com                     #網(wǎng)站實(shí)際地址
      IdentityFile ~/.ssh/test-github         #密鑰路徑
      User zcw
      
    4. 多密鑰測試

      ssh -v git@test-github
      

      @符號后面的地址需要使用config文件中的 host 的值,而不是 hostname ,所以說建議設(shè)置成一樣,測試連接 github.com 不行,這個(gè)大坑

  • sshd安全

    vi /etc/ssh/sshd_config

    X11Forwarding no  #
    PermitEmptyPasswords no     # 禁止空密碼
    MaxStartups  10             # 最多保持多少個(gè)未認(rèn)證的連接,防止SSH拒絕服務(wù)
    PermitRootLogin no          # 禁止root登錄,否則很容易被用來暴力猜解
    
  • ssh端口轉(zhuǎn)發(fā)

    場景舉例

    pc net ip lan ip service
    dev / 192.168.31.60 tomcat:8080
    A@prod 106.12.13.14 192.168.0.100 mongodb:27017
    B@prod / 192.168.0.101 mysql:3306
    • dev為本地開發(fā)機(jī)器,家庭寬帶,無固定公網(wǎng)ip,運(yùn)行tomcat服務(wù),端口是8080

    • A@prod為阿里云服務(wù)器,有固定公網(wǎng)ip,運(yùn)行mongodb服務(wù),端口是27017

    • B@prod為阿里云服務(wù)器,無外網(wǎng),和A@prod在同一局域網(wǎng),運(yùn)行mysql服務(wù),端口是3306

    1. 代理服務(wù)器

      TODO

    2. 訪問本地特定端口,訪問遠(yuǎn)程指定服務(wù)

      • 需求示例1:從dev機(jī)器訪問A@prod上的mongodb服務(wù)
      # 加上-f,在后臺執(zhí)行
      ssh sshUser@106.12.13.14 -C -N -g -L 27018:localhost:27017
      
      • 需求示例2:從dev機(jī)器訪問B@prod上的mysql服務(wù),利用A@prod作為跳板機(jī)
      ssh sshUser@106.12.13.14 -C -N -g -L 13306:192.168.0.101:3306
      
    3. ssh遠(yuǎn)程端口轉(zhuǎn)發(fā),訪問遠(yuǎn)程特定端口,訪問本地指定服務(wù)

      A@prod上需編輯/etc/ssh/sshd_config,修改GatewayPorts為yes,更多請查看man sshd_config
      
      • 需求示例:從A@prod訪問本地dev機(jī)器的tomcat服務(wù)
      ssh sshUser@106.12.13.14 -C -N -g -R \
          localhost:18080:localhost:8080  \   # 訪問遠(yuǎn)程18080端口,即本地8080的服務(wù)
          -o ExitOnForwardFailure=yes \
          -o ServerAliveInterval=60           # 客戶端每60向服務(wù)器發(fā)送一次請求,服務(wù)器響應(yīng),從而保持連接
      
      • 自動填入密碼腳本
      set password xxx
      spawn ssh sshUser@106.12.13.14 -C -N -g -R \
          localhost:18080:localhost:8080 \
          -o ExitOnForwardFailure=yes \
          -o ServerAliveInterval=60
      expect "password" {send "$password\r"}
      interact
      
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,568評論 19 139
  • 參考網(wǎng)址:http://www.cnblogs.com/programfish/p/4098091.html SS...
    冬天之歌閱讀 404評論 0 0
  • 1、下載SSH相關(guān)的所有依賴的Jar包,導(dǎo)入引用 2、spring整合struts 2 在Web容器中添加spri...
    李東浩閱讀 1,337評論 0 2
  • jenkins Jenkins是一個(gè)非常有名的CI工具,開源、免費(fèi),通過jenkins我們可以更加智能、快速的持續(xù)...
    JanloongDo_0閱讀 2,139評論 0 1
  • SSH 為 Secure Shell 的縮寫,由 IETF 的網(wǎng)絡(luò)小組(Network Working Group...
    shuff1e閱讀 1,874評論 1 11

友情鏈接更多精彩內(nèi)容