ssh window ubuntu

本文详细介绍如何在Ubuntu系统上安装SSH服务,并通过生成密钥实现Windows与Linux之间的免密码登录。包括安装SSH、生成密钥、配置公钥、转换密钥格式等步骤。

http://blog.youkuaiyun.com/gavinr/article/details/6586685


1.ssh的安装
gavin@ubuntu:~$ sudo apt-get install ssh

2.生成密钥

  1. gavin@ubuntu:~$ ssh-keygen  
  1. Generating public/private rsa key pair.  
  2. Enter file in which to save the key (/home/gavin/.ssh/id_rsa):  
  3.          Created directory '/home/gavin/.ssh'.  
  4.          Enter passphrase (empty for no passphrase):  
  5.                  Enter same passphrase again:  
  6.                  Passphrases do not match.  Try again.  
  7.                  Enter passphrase (empty for no passphrase):  
  8.                          Enter same passphrase again:  
  9.                          Your identification has been saved in /home/gavin/.ssh/id_rsa.  
  10.                          Your public key has been saved in /home/gavin/.ssh/id_rsa.pub.  
  11.                          The key fingerprint is:  
  12.                          7f:47:de:fd:11:74:af:5c:89:a4:58:48:5d:c0:21:6a gavin@ubuntu  
  13.                          The key's randomart image is:  
  14.                          +--[ RSA 2048]----+  
  15.                          |         ooo+.   |  
  16.                          |        o oo     |  
  17.                          |       E . . . ..|  
  18.                          |      .   o o o +|  
  19.                          |        S. . ..oo|  
  20.                          |         .   + +o|  
  21.                          |          . . =.o|  
  22.                          |           . .  o|  
  23.                          |                .|  
  24.                          +-----------------+  

上述过程会提示输入ssh的登录密码,默认密钥的位置在~/.ssh目录中,这里将公钥改名为authorized_keys
  1. gavin@ubuntu:~/cd .ssh  
  2. gavin@ubuntu:~/.ssh$ mv id_rsa.pub authorized_keys  

3.修改配置文件,/etc/ssh/sshd_config
  1.  gavin@ubuntu:~/.ssh$ sudo vi /etc/ssh/sshd_config  
  2. ......  
  3. # AuthorizedKeysFile  %h/.ssh/authorized_keys  
  4. .....  
这里将AuthorizedKeysFile前的#号去掉即可


4.到windows平台,启动Puttygen,导入先前生成的私钥id_rsa,转换成putty所识别的格式(*.ppk),得到文件id_rsa.ppk.


大家都知道在linux下生成的ssh私钥只有Tera Term这个软件可以使用,但Tera Term无法上传文件,只能使用winscp来上传,但winscp使用私钥的格式是ppk,所以要把linux下的私钥转换成ppk格式.

   需要的软件:puttygen.exe
1.下载puttygen
大家可以去http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html这个地址单独下载puttygen

2.转换成ppk格式
运行puttygen.exe-点击Conversions菜单项中的Import key,选择在linux下生成的id_rsa文件,成下面的图
点击查看原图
然后点击Save provate Key按钮就可以转换成ppk格式,如图.
点击查看原图
点击查看原图
好了大家可以看到已经把原来rsa格式的私钥转换成ppk的了,可以在winscp中导入使用了.






5.windows上启动putty,进行如下配置
Session-Logging-Hostname:填上你的linux的ip
Windows -Translation - 在下拉菜单里选上UTF-8,这里不设置,登录后将会出现中文乱码。
Connection- Data - Auto login username:填上你登录ubuntu时用的用户名。
Connection- SSH-Auth-Private key file for authentication:选上id_rsa.ppk
保存Session配置

6.打开刚刚配置的ssh,成功登录

  1. Using username "gavin".  
  2. Authenticating with public key "imported-openssh-key"  
  3. Passphrase for key "imported-openssh-key":  
  4. Linux ubuntu 2.6.32-21-generic #32-Ubuntu SMP Fri Apr 16 08:10:02 UTC 2010 i686 GNU/Linux  
  5. Ubuntu 10.04 LTS  
  6.   
  7. Welcome to Ubuntu!  
  8.  * Documentation:  https://help.ubuntu.com/  
  9. 409 packages can be updated.  
  10. 171 updates are security updates.  
  11.   
  12. Last login: Wed Jul  6 06:05:40 2011 from 192.168.27.112  
  13. gavin@ubuntu:~$  

7.其它事项
git带有puttygen工具
密钥的生成也可以直接使用puttygen
也可以不使用密钥机制,这样可以直接使用linux的用户名及密码登录

<think>我们正在讨论Windows通过SSH挂载Ubuntu目录。根据之前的上下文,我们已经提到了SSHFS-Win方案。现在需要详细说明在Windows上的操作步骤。 注意:用户要求使用中文回答,并在最后提出3-5个相关问题,且第一行必须是“§§相关问题§§”,然后列举问题。 方案:使用SSHFS-Win在Windows上挂载Ubuntu目录 步骤: 1. 安装必要软件: - 下载并安装WinFsp(Windows File System Proxy):https://github.com/winfsp/winfsp/releases - 下载并安装SSHFS-Win:https://github.com/winfsp/sshfs-win/releases 2. 挂载远程目录: 方法1:通过“此电脑”右键菜单挂载 - 打开“此电脑” - 在空白处右键 -> 选择“映射网络驱动器” - 在“文件夹”栏输入:\\sshfs\username@ubuntu_ip[!port] (例如:\\sshfs\user@192.168.1.100) - 注意:如果SSH端口不是22,则需要指定端口,格式为:\\sshfs.r\username@ubuntu_ip!port - 点击“完成”,输入SSH密码(如果设置了密钥,需要确保密钥已加载到Pageant或配置为无密码) 方法2:使用命令挂载(管理员权限运行) - 打开命令提示符(CMD)或PowerShell - 输入: net use Z: \\sshfs\username@ubuntu_ip\path\to\folder (或者使用带端口的格式:net use Z: \\sshfs.r\username@ubuntu_ip!port\path\to\folder) - 输入密码 3. 卸载目录: - 在文件资源管理器中右键点击挂载的驱动器 -> 断开连接 - 或使用命令:`net use Z: /delete` 4. 常见问题处理: - 连接失败:检查UbuntuSSH服务是否运行(`sudo systemctl status ssh`),防火墙是否开放端口(默认22)。 - 权限问题:确保Ubuntu上的目标目录对SSH用户有读/写权限。 - 密钥认证:建议使用密钥登录,避免每次输入密码。将公钥添加到Ubuntu的`~/.ssh/authorized_keys`,私钥使用Pageant加载或放入SSHFS-Win默认位置(如`C:\Users\用户名\.ssh`)。 注意:SSHFS-Win在Windows资源管理器中可能显示为网络驱动器。 优势:利用SSH加密传输,无需额外配置,安全便捷。 §§相关问题§§ 1. 如何在Windows上配置SSH密钥以用于SSHFS免密挂载? 2. SSHFS挂载后访问速度慢,有哪些优化方法? 3. 如何解决Windows挂载Ubuntu目录时出现的“权限被拒绝”错误? 4. 除了SSHFS,Windows还有哪些工具可以挂载Linux远程目录? 5. 如何通过批处理脚本实现Windows开机自动挂载SSHFS目录?</think>在Windows系统上通过SSH挂载Ubuntu目录,推荐使用**SSHFS-Win**工具实现。以下是详细步骤: ### 安装准备 1. **安装必备组件**: - 下载安装 [WinFsp](https://github.com/winfsp/winfsp/releases)(Windows文件系统代理) - 下载安装 [SSHFS-Win](https://github.com/winfsp/sshfs-win/releases)(SSH文件系统实现) > 注意:安装时勾选"Add to PATH" 2. **Ubuntu端配置**: ```bash sudo apt update && sudo apt install openssh-server -y sudo systemctl enable ssh sudo ufw allow 22 # 开放SSH端口 ``` ### 挂载操作(两种方法) **方法1:资源管理器挂载** 1. 打开文件资源管理器 2. 地址栏输入: ```path \\sshfs\[用户名]@[Ubuntu_IP]\[目录路径] ``` 示例:`\\sshfs\ubuntu_user@192.168.1.100\home/share` **方法2:命令挂载(管理员权限)** ```cmd net use Z: \\sshfs\ubuntu_user@192.168.1.100\home/share /persistent:yes ``` > 提示输入SSH密码后完成挂载,驱动器将显示为网络位置 ### 密钥认证配置(免密挂载) 1. **生成密钥对**(Windows端): ```cmd ssh-keygen -t rsa # 默认保存到 %USERPROFILE%\.ssh\id_rsa ``` 2. **复制公钥到Ubuntu**: ```cmd type %USERPROFILE%\.ssh\id_rsa.pub | ssh ubuntu_user@192.168.1.100 "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys" ``` 3. **挂载时自动使用密钥**: ```cmd net use Z: \\sshfs.r\ubuntu_user@192.168.1.100!22\home/share /persistent:yes ``` ### 卸载目录 - 资源管理器:右键驱动器 → 断开连接 - 命令行:`net use Z: /delete` ### 常见问题解决 - **连接失败**:检查Ubuntu SSH服务状态 `sudo systemctl status ssh` - **权限错误**:确保Ubuntu目录权限 `sudo chmod 755 /path` - **端口变更**:非22端口需使用 `\\sshfs.r\user@ip!port\path` 格式
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值