ssh连接局域网内两台主机

1.建立连接

  • (1)安装客户端

    sudo apt-get install openssh-client
    sudo apt-get install openssh-server
  • (2)查看目标主机(服务器的IP)

    ssh username@IP

    执行这个命令后如果需要输入密码,要输入的是目标主机的 user 的密码。如果是首次连接,接受 Server 传来的 Key ,输入yes,并建立起联机即可。

    使用 ps,命令查看进程,看看 ssh-agent 是否运行,如果没有,输入下面指令启动 ssh 服务进程.

    sudo service ssh start

    若需杀死进程使用kill + PID命令,关闭ssh使用以下命令,

    sudo service ssh stop

    如果想删除通过 ssh 登录到主机上的一些用户可以使用下面命令,

    pkill -kill -t pts/1


2.文件传输

  • (1) 远程机器和本地机器互传文件

    从远程机器下载文件到本机:

    scp username@servername:/path/filename /var/www/local_dir

    从本机上传文件到远程机器:

    scp /path/filename username@servername:/path

    从远程机器下载目录到本机:

    scp -r username@servername:/var/www/remote_dir/(远程目录) /var/www/local_dir(本地目录)

    从本机上传目录到远程机器:

    scp -r local_dir username@servername:remote_dir

  • (2) 目标服务器开启写入权限

    chmod +777 dirname


3. 常用功能

  • (1)远程执行命令

    在远程主机执行一条命令并显示到本地,

    ssh lx@192.168.1.162 date

  • (2) 挂载远程机器的文件系统

    首先需要安装sshfs工具,

    sudo apt-get install sshfs
    之后使用以下命令即可将远程主机的主文件夹挂载到本地机器Remote文件夹下。

    sshfs -o idmap=user lx@192.168.1.162:/home/lx ~/Remote

  • (3) 使用x11图形界面

    在远程主机运行一个图形界面的程序,

    ssh -X lx@192.168.1.162
    ./AddlabelTool

  • (4) ssh 配置

    ssh的配置文件放在/etc/ssh文件夹中

  • (5) ssh 密钥对

    1) 创建密钥对

    ssh-keygen -t dsa

    2) 检查是否已经添加对应主机的密钥

    ssh-keygen -F 192.168.1.162

    3) 删除某个密钥

    ssh-keygen -R 192.168.1.162


### 配置两台 Windows 计算机在局域网中实现 SSH 免密登录 为了实现在局域网中的两台 Windows 计算机之间通过 SSH 进行免密登录,可以按照以下方式完成配置: #### 1. 安装并启用 OpenSSH 组件 确保两台计算机均已安装 **OpenSSH Client** 和 **OpenSSH Server**。可以通过“设置” -> “应用” -> “可选功能”来添加这些组件。 - 对于服务器端(目标机器),需要特别关注 OpenSSH 的服务状态。 - 启动并配置 OpenSSH 服务: - 按下 `Win + R` 键组合,输入 `services.msc` 打开服务管理器。 - 查找以下两项服务并将其启动类型设为手动[^2]: - **OpenSSH Authentication Agent** - **OpenSSH SSH Server** ```powershell # 使用 PowerShell 命令也可以快速修改服务的状态和启动类型 Set-Service -Name ssh-agent -StartupType Manual Start-Service ssh-agent Set-Service -Name sshd -StartupType Manual Start-Service sshd ``` --- #### 2. 创建 SSH 密钥对 在客户端设备上生成一对用于身份验证的公私钥文件。打开 PowerShell 并运行以下命令: ```bash ssh-keygen -t rsa -b 4096 -C "your_email@example.com" ``` 此操作会提示保存位置,默认路径通常为 `%USERPROFILE%\.ssh\id_rsa` 及其对应的 `.pub` 文件。如果未指定密码,则该密钥不会受到额外保护。 注意:这里的 `-C` 参数只是作为标签标记,并不影响实际认证过程[^3]。 --- #### 3. 将公钥传输至远程主机 将本地用户的公钥复制到另一台 Windows 主机上的授权密钥列表里去。具体做法如下所示: 假设源 PC 上有用户 Alice 而目标系统存在 Bob 用户账户的话;那么就需要把前者产生的 id_rsa.pub 内容追加进后者家目录下的 .ssh/authorized_keys 文本之中[^3]。 可以直接利用下面这条指令自动完成推送工作: ```bash type %USERPROFILE%\.ssh\id_rsa.pub | ssh bob@target_machine "mkdir -p ~/.ssh && type >> ~/.ssh/authorized_keys" ``` 或者更推荐的方式是在 Linux 或类 Unix 环境中有专门工具支持的情况下采用标准形式调用: ```bash ssh-copy-id bob@target_machine ``` > 如果当前环境不支持直接使用 `ssh-copy-id` ,则需手工编辑目标系统的 authorized_keys 文件并将内容粘贴进去。 --- #### 4. 测试无密码访问 最后一步就是检验整个流程是否成功生效了。尝试从发起方再次连接过去看能否无需再输任何口令便能顺利进入对方 shell 中: ```bash ssh bob@target_machine ``` 如果没有被询问密码就表示已经实现了预期效果——即完成了基于密钥的身份校验机制构建[^2]。 --- ### 注意事项 - 确认防火墙允许 TCP/IP 协议第 22 号端口号通信。 - 若遇到权限错误,请检查目标主机上的文件夹以及文件是否有正确的读写属性分配给相应的使用者账号。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值