ind*_*ble 12 linux networking linux-mint sshfs
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
Run Code Online (Sandbox Code Playgroud)
我正在尝试使用 sshfs 和 fuse 设置远程服务器的无密码安装。远程服务器在非标准端口上运行,我将使用 ssh 密钥对进行身份验证。
成功后,我将对另外三个远程服务器重复此操作,每个服务器都有不同的键,因此我确实需要能够指定哪些键映射到哪个远程服务器。
我的修改基于本教程
fuse组中。~/.ssh/config(每台服务器):`
Host [server_ip]
Port = [port]
IdentityFile = "~/.ssh/[private_key]"
User = "[user]"
Run Code Online (Sandbox Code Playgroud)
`
每当我尝试在本地安装远程服务器时,都会提示我输入远程用户的密码(不是我的私钥的密码)。远程用户有一个很长的随机生成的密码,我不想保存或记住,所以密钥就是我想这样做的方式。
我可以~/.ssh/config使用命令通过 ssh(与文件结合)进行连接,ssh [ip]因此我知道可以正确读取配置文件,因为我被要求输入我的密钥密码而不是远程用户的密码。
为了尝试连接到远程服务器,我必须在命令中手动指定完整的连接详细信息:`sshfs [user]@[ip]:[remote_path] [local_path] -p [port]
到目前为止我尝试过的:
PreferredAuthentication = publickey在 ~/.ssh/config 中指定id_rsa是否有我忽略的远程或本地配置文件?我需要在对 sshfs 的调用中包含一些开关或选项(尝试 -F)以强制它读取和使用我的 ssh 配置?
输出 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 line 2: Applying options for [remote_ip] debug1: /home/[me]/.ssh/config line 24: Applying options for * 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]-cert type -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: server->client 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: 找到匹配的密钥 w/out 端口 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:可以继续的身份验证:公钥、密码 debug1:下一个身份验证方法:publickey debug1:提供 DSA 公钥:/home/[me]/.ssh/[private_key] debug1:服务器接受密钥:pkalg ssh-dss blen 433 debug1:在级别 6 启用压缩。 debug1:认证成功(公钥)。 已验证 [remote_ip] ([[remote_ip]]:[port])。 调试 1:通道 0:新的 [客户端会话] 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_dir并且sudo chmod 774 /mnt/new_dir我相信一切都按预期工作。
此设置是否存在任何我需要注意的安全问题?(我自己的用户和 root 是该fuse组的唯一成员。
slm*_*slm 14
如果您正在使用,sudo那么您可能会使用 root 的凭据进行挂载,我认为这不是您想要的。我可能不会做你问的,wrt。以/mntuser1 身份挂载并以 user2 身份访问。组和用户权限会变得复杂。如果您真的想将目录挂载到 /mnt 以共享,那么您确实应该通过系统级别为所有使用autofs.
我知道有 3 种方法可以自动挂载这样的挂载。
| 归档时间: |
|
| 查看次数: |
9570 次 |
| 最近记录: |