117.info
人生若只如初见

Ubuntu SSH命令行操作有哪些

Ubuntu SSH命令行操作主要包括以下几个方面:

基本连接与断开

  1. 连接到远程服务器

    ssh username@hostname
    
    • username 是你在远程服务器上的用户名。
    • hostname 是远程服务器的IP地址或域名。
  2. 使用密钥认证连接

    ssh -i /path/to/private_key username@hostname
    
    • -i 参数指定私钥文件路径。
  3. 断开连接

    • 输入 exit 或按 Ctrl+D

文件传输

  1. 使用SCP(Secure Copy Protocol)复制文件

    scp localfile username@hostname:/path/to/destination
    scp username@hostname:/path/to/source localfile
    
  2. 使用SFTP(SSH File Transfer Protocol)进行交互式文件传输

    sftp username@hostname
    
    • 进入SFTP会话后,可以使用 getputlscd 等命令。

执行远程命令

  1. 直接在远程服务器上执行命令

    ssh username@hostname 'command'
    
  2. 在后台运行命令

    ssh username@hostname 'command &' 
    

端口转发

  1. 本地端口转发

    ssh -L local_port:destination_host:destination_port username@hostname
    
  2. 远程端口转发

    ssh -R remote_port:destination_host:destination_port username@hostname
    
  3. 动态端口转发(SOCKS代理)

    ssh -D local_port username@hostname
    

配置SSH

  1. 编辑SSH配置文件

    nano ~/.ssh/config
    
    • 可以在这里设置默认用户名、端口、密钥等。
  2. 生成SSH密钥对

    ssh-keygen -t rsa -b 4096
    
    • 生成的公钥可以添加到远程服务器的 ~/.ssh/authorized_keys 文件中。
  3. 修改SSH服务配置

    • 编辑 /etc/ssh/sshd_config 文件,然后重启SSH服务:
      sudo systemctl restart sshd
      

安全性增强

  1. 更改SSH默认端口

    • sshd_config 中修改 Port 参数。
  2. 禁用root登录

    • sshd_config 中设置 PermitRootLogin no
  3. 使用防火墙限制访问

    • 使用 ufw 或其他防火墙工具配置规则。

监控与日志

  1. 查看SSH连接日志

    sudo tail -f /var/log/auth.log
    
  2. 使用 netstatss 查看SSH端口监听状态

    sudo netstat -tulnp | grep sshd
    # 或者
    sudo ss -tulnp | grep sshd
    

其他有用的命令

  • 列出远程目录内容

    ssh username@hostname 'ls -l /path/to/directory'
    
  • 创建远程目录

    ssh username@hostname 'mkdir -p /path/to/new_directory'
    
  • 删除远程文件或目录

    ssh username@hostname 'rm -rf /path/to/file_or_directory'
    

注意事项

  • 确保SSH服务正在运行并且监听正确的端口。
  • 定期更新SSH客户端和服务器软件以修补安全漏洞。
  • 使用强密码或密钥认证,并妥善保管私钥文件。

通过掌握这些基本的SSH命令行操作,你可以高效地在Ubuntu系统上进行远程管理和文件传输。

未经允许不得转载 » 本文链接:https://www.117.info/ask/feb01AzsKCQRWB10.html

推荐文章

  • ubuntu上nodejs与npm关系是什么

    Node.js和npm在Ubuntu上的关系密切且相辅相成,它们共同构成了JavaScript运行时环境的核心部分。以下是它们之间关系的详细解释:
    Node.js 定义:Node.js是一...

  • Ubuntu中如何管理多个Java版本

    在Ubuntu中管理多个Java版本可以通过以下几种方法:
    使用 update-alternatives 命令
    update-alternatives 是Ubuntu自带的工具,可以方便地在多个Java版...

  • Ubuntu vsftpd与Samba共享对比

    在Ubuntu系统中,vsftpd和Samba都是常用的文件共享解决方案,它们各自具有独特的特点和适用场景。以下是对这两种服务的详细对比:
    vsftpd 协议:应用层协议...

  • 如何结束顽固的ubuntu进程

    要结束一个顽固的 Ubuntu 进程,你可以使用以下方法:
    方法 1:使用 kill 命令 首先,找到要结束的进程的进程 ID(PID)。你可以使用 ps 或 top 命令来查找...

  • 如何用copendir获取目录文件列表

    opendir() 是一个用于打开目录的函数,它返回一个指向 DIR 结构的指针。要使用 opendir() 获取目录文件列表,你需要结合其他函数,如 readdir() 和 closedir()。...

  • pgAdmin在Linux上如何进行数据备份

    在Linux上使用pgAdmin进行数据备份主要涉及到两种备份方式:物理备份和逻辑备份。以下是具体的备份步骤:
    物理备份
    物理备份是指直接备份数据库文件,...

  • 如何分析Linux JS日志中的错误

    分析Linux系统中的JavaScript(JS)日志错误,通常涉及以下几个步骤: 定位日志文件: 首先,确定JS应用程序的日志文件位置。这通常在应用程序的配置文件或文档中...

  • ubuntu telnet安全风险有哪些

    Ubuntu系统中使用Telnet服务存在一些安全风险,主要包括以下几点:
    1. 明文传输 数据泄露:Telnet传输的数据(包括用户名、密码和其他敏感信息)是以明文形...