sshfs将不使用〜/ .ssh / config(在Linux Mint 15上)


10
Local:         Linux Mint 15 - Olivia
/proc/version: Linux version 3.8.0-19-generic (buildd@allspice) (gcc version 4.7.3 (Ubuntu/Linaro 4.7.3-1ubuntu1) )
ssh -V:        OpenSSH_6.1p1 Debian-4, OpenSSL 1.0.1c 10 May 2012
sshfs -V:      SSHFS version 2.4
               FUSE library version: 2.9.0
               fusermount version: 2.9.0
               using FUSE kernel interface version 7.18

Remote:        Ubuntu 12.04.3 LTS
/proc/version: Linux version 3.10.9-xxxx-std-ipv6-64 (kernel@kernel.ovh.net) (gcc version 4.7.2 (Debian 4.7.2-5) )
ssh -V:        OpenSSH_5.9p1 Debian-5ubuntu1.1, OpenSSL 1.0.1 14 Mar 2012

我正在尝试使用sshfs和fuse设置远程服务器的无密码挂载。远程服务器在非标准端口上运行,我将使用ssh密钥对进行身份验证。

成功后,我将对另外三个具有不同密钥的远程服务器重复此操作,因此我确实需要能够指定哪个密钥映射到哪个远程服务器。

我基于本教程进行了修改

  • 公钥在remote:authorized_keys中
  • 我已将本地用户添加到该fuse组。
  • 我已将本地编辑~/.ssh/config为(每台服务器):

`

Host [server_ip]
  Port = [port]
  IdentityFile  = "~/.ssh/[private_key]"
  User = "[user]"

`

每当我尝试在本地安装远程服务器时,都会提示您输入远程用户的密码(而不是我的私钥的密码)。远程用户有一个很长的随机生成的密码,我不想保存或记住该密码,因此密钥是我要执行的操作。

我可以~/.ssh/config使用命令通过ssh(与文件组合)进行连接,ssh [ip]因此我知道可以正确读取配置文件,因为系统要求输入密钥的密码而不是远程用户的密码。

为了甚至尝试连接到远程服务器,我必须在命令中手动指定完整的连接详细信息:`sshfs [user] @ [ip]:[remote_path] [local_path] -p [port]

到目前为止,我已经尝试过:

  • ssh-add / path / to / key(成功添加)
  • PreferredAuthentication = publickey在〜/ .ssh / config中指定
  • sshfs -o IdentityFile = /路径/到/密钥user @ ip:/ / my / mnt / dir
  • sshfs user @ ip:/ / my / mnt / dir -o IdentityFile = /路径/到/密钥
  • 临时将键重命名为默认值 id_rsa
  • sshfs -F〜/ .ssh / config

是否有我要忽略的远程或本地配置文件?我需要在对sshfs的调用中包含一些开关或选项(尝试-F),以强制其读取和使用ssh config吗?

输出 ssh -v -p [port] [user]@[remote_ip]

OpenSSH_6.1p1 Debian-4,OpenSSL 1.0.1c 2012年5月10日
debug1:读取配置数据/home/[me]/.ssh/config
debug1:/home/[me]/.ssh/config第2行:为[remote_ip]应用选项
debug1:/home/[me]/.ssh/config第24行:为*应用选项
debug1:读取配置数据/ etc / ssh / ssh_config
debug1:/ etc / ssh / ssh_config第19行:为*应用选项
debug1:连接到[remote_ip] [[remote_ip]]端口[port]。
debug1:建立连接。
debug1:身份文件/home/[me]/.ssh/[private_key]类型2
debug1:检查黑名单文件/usr/share/ssh/blacklist.DSA-1024
debug1:检查黑名单文件/etc/ssh/blacklist.DSA-1024
debug1:身份文件/home/[me]/.ssh/[private_key]-证书类型-1
debug1:远程协议版本2.0,远程软件版本OpenSSH_5.9p1 Debian-5ubuntu1.1
debug1:匹配:OpenSSH_5.9p1 Debian-5ubuntu1.1 pat OpenSSH_5 *
debug1:为协议2.0启用兼容模式
debug1:本地版本字符串SSH-2.0-OpenSSH_6.1p1 Debian-4
debug1:发送了SSH2_MSG_KEXINIT
debug1:收到SSH2_MSG_KEXINIT
debug1:kex:服务器->客户端aes128-ctr hmac-md5 zlib@openssh.com
debug1:kex:客户端->服务器aes128-ctr hmac-md5 zlib@openssh.com
debug1:发送SSH2_MSG_KEX_ECDH_INIT
debug1:需要SSH2_MSG_KEX_ECDH_REPLY
debug1:服务器主机密钥:[key]
debug1:检查不带端口标识符
debug1:主机'[remote_ip]'是已知的,并且与ECDSA主机密钥匹配。
debug1:在/home/[me]/.ssh/known_hosts:7中找到密钥
debug1:找到匹配的密钥,没有端口
debug1:ssh_ecdsa_verify:签名正确
debug1:发送了SSH2_MSG_NEWKEYS
debug1:需要SSH2_MSG_NEWKEYS
debug1:收到SSH2_MSG_NEWKEYS
debug1:服务器不允许漫游
debug1:发送了SSH2_MSG_SERVICE_REQUEST
debug1:收到SSH2_MSG_SERVICE_ACCEPT
debug1:可以继续的身份验证:publickey,password
debug1:下一个身份验证方法:publickey
debug1:提供DSA公钥:/home/[me]/.ssh/[private_key]
debug1:服务器接受密钥:pkalg ssh-dss blen 433
debug1:在级别6上启用压缩。
debug1:认证成功(公钥)。
已验证为[remote_ip]([[remote_ip]]:[port])。
debug1:频道0:新建[client-session]
debug1:请求no-more-sessions@openssh.com
debug1:进入交互式会话。
debug1:发送环境。
debug1:发送env LANG = en_GB.UTF-8
debug1:发送env LC_CTYPE = en_GB.UTF-8
欢迎使用Ubuntu 12.04.3 LTS(GNU / Linux 3.10.9-xxxx-std-ipv6-64 x86_64)

编辑:
我发现了问题。我试图使用sudo将远程位置安装到/ mnt / new_dir。如果我安装到本地房屋内的某个位置,则可以使用。sshfs -p [port] [user]@[ip]:/ /home/[me]/tmp/mount

我现在已经完成了一个操作sudo chown root:fuse /mnt/new_dirsudo chmod 774 /mnt/new_dir并且我相信所有操作都按预期进行。

我需要注意此设置是否存在任何安全问题?(我自己的用户和root是该fuse组的唯一成员。


嗨,MBS,您可以使用-v开关运行ssh以显示可能存在的任何错误。这样做可能值得看看在读取文件时是否有错误。另外,您在目标服务器上的密钥应具有600个权限。
Rqomey

感谢您及时的回复。ssh verbose:pastebin.com/Rm5X7y5p(我将在一分钟内以sshfs verbose返回
2013年

使用-o ssh_command='ssh -v'命令的sshfs 只是挂起并且不输出任何内容
2013年

我想我可能已经发现了这个问题(或者至少已经解决了)。我试图使用sudo将远程位置安装到/ mnt / new_dir。如果我安装到本地房屋内的某个位置,则可以使用。sshfs -p [port] [user]@[ip]:/ /home/[me]/tmp/mount。我可以配置我的用户,使其具有安装到/ mnt所需的权限,以便其他用户可以使用远程资源吗?
2013年

1
我看到您是Stackexchange的新手,欢迎您。但是有一些提示:我知道您想通过隐藏数据来尝试使自己匿名,但是您实际上不应该这样做。如果您提供了指示您将安装架安装在哪里的信息,其他人可能已经注意到了问题。也不要链接到外部站点(pastebin)以提供输出,请在此处包括在内。最后,如果您有解决方案,请将其作为答案并接受该答案,请勿在主题中添加“已解决”。
帕特里克

Answers:


12

如果您正在使用,sudo则很可能会使用root的凭据进行挂载,我认为这不是您想要的。我可能不会按照你的要求去做。以/mntuser1身份安装并以user2身份访问。组和用户权限将变得非常复杂。如果您确实想将目录挂载到/ mnt以共享,那么您真的应该通过系统级挂载所有使用的目录autofs

自动挂载

我知道有3种方法可以自动挂载这样的挂载。


这就是问题所在。我已经对问题进行了编辑,以包括修改相关文件夹的权限所采取的步骤,但是当它起作用时,我敢肯定这不是最佳解决方案。-我还没有尝试使用它autofs,因为我现在无法建立sshfs连接。您是否建议我向local:/root/.ssh/key和添加另一个密钥对remote:/[user]/.ssh/authorized_keys?在我应该chownchmod是为local:/mnt/dir呢?(我想为自己提供充分的烫发,而对其他用户则只读)
2013年

@mbs-查看更新
slm

1
指向autofs的URL,对吗?因为它在您请求时看起来不正确。它以非英语语言显示运动。
Geoffrey Anderson
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.