这似乎应该是容易的。 我运行“ssh-keygen -l -f”(默认好像是SHA1)。 所有的例子都显示了它打印hex格式的摘要带有一些额外的,无害的信息。 然而,在我的Mac上,我得到一个无用的,不透明的string。 我应该提到“-E”参数适用于Mac(10.10),但在Ubuntu(14.04)中不可用。 请记住,如果它不适合你。 $ ssh-keygen -l -E md5 -f dustin.pem 2048 MD5:29:ed:da:d3:5a:8c:78:4f:62:d3:fd:0c:77:5b:6d:d9 dustin.pem.pub (RSA) $ ssh-keygen -l -E sha1 -f dustin.pem 2048 SHA1:x2ENPL+vzVdlgkIyu0tAhVQ+H4U dustin.pem.pub (RSA) $ ssh-keygen -l -E sha256 -f dustin.pem 2048 SHA256:agJs/axI8QPzet/eoPMDxLSf37fd1bgsMX4Di0gqMy4 dustin.pem.pub (RSA) 两种尝试的SHAalgorithm都返回不透明但不同的ASCIIstring。 我错过了什么? 我如何得到一个SHA1hex文件,而不必将我的密钥复制到Linux系统来做到这一点? 谢谢。
我需要用户以不同的身份validation方法login到CentOS系统。 一些使用密码和其他人使用公共密钥。 我遵循这里提到的方法: 如何设置OpenSSH每用户身份validation方法? 但是,我没有成功的基于密码的login成功。 在sshd_config文件中,我有: AuthenticationMethods keyboard-interactive,publickey PasswordAuthentication no Match User newton PasswordAuthentication yes Match all 更新:我看到这个问题是只有当我有谷歌身份validation2FA启用,我有行: AuthenticationMethods keyboard-interactive,publickey 虽然对于用户牛顿,我已经设置了密码authentication,我看到以下错误: [root@localhost]# ssh [email protected] Permission denied (publickey). 任何build议表示赞赏。
免责声明:当谈到SSH时,我有点笨拙。 我尝试过使用openssh,但无法正常运行,MobaSSH会拒绝我的连接尝试。 我真正想要的是一个SSH服务器,以便我可以使用rsync备份一个Linux机器。 (不要问我为什么要备份一个Linux盒子到一个窗口框)
我有一台Ubuntu PC,带有两块网卡,充当路由器。 一个卡eth0连接到互联网,其他eth1连接到LAN。 我想将局域网中不同主机的ssh端口暴露给不同的端口号。 即“ssh user @ router -p 1234”应该到host1的ssh端口,“ssh user @ router -p 3456”应该到ssh到host2。 我为host1添加了以下iptable规则,但不起作用: iptables -A FORWARD -i $EXTIF -o $INTIF -p tcp –dport 1234 -m conntrack –ctstate NEW,ESTABLISHED,RELATED -j ACCEPT iptables -A PREROUTING -t nat -p tcp -d $EXTIP –dport 1234 -m conntrack –ctstate NEW,ESTABLISHED,RELATED -j DNAT –to-destination 10.9.0.2:22 EXTIF是外部接口(eth0),INTIF是内部接口(eth1),EXTIP是eth0的IP地址。 任何帮助? (不知道问题是否清楚,如果有人理解我的意图,请用正确的行话编辑)
通过运行以下命令显示SSH密钥指纹: ssh-keygen -lf /etc/ssh/ssh_host_rsa_key.pub 指纹是一些奇怪的代码。 有没有办法把这个代码变成图像哈希或类似Gravatar?
我偶然发现这个网页: http : //www.wlug.org.nz/PerUserTempDirs build议创build/replace一些脚本; 最后一步更令人困惑: 现在,一旦你有了,调用下面的脚本,而不是login(1): #!/bin/sh mkdir -m 700 /tmp-safe/user/"$1" /tmp/"$1" chown "$1": /tmp-safe/user/"$1" /tmp/"$1" mount –bind /tmp-safe/user/"$1" /tmp/"$1" || exit 1 exec /bin/login "$@" 由于用户用sshlogin,我认为/ bin / login永远不会执行。 我应该修改哪些脚本以便能够为用户重新安装/ tmp?
我在.ssh/environment添加了env.variable文件 如何现在重新启动ssh ,所以这个改变会被反映出来。
我有一个用户,我只想能够使用颠覆。 我们喜欢使用svn + ssh:// URLs(对于公钥和whatnot),所以我需要它们能够通过ssh连接并且只运行svnserve命令。 当使用svn + ssh URL时,svn ssh'es并传递参数“-c svnserve -t”。 我按如下方式编写了一个自定义的shell来过滤可以运行的命令。 这工作,但它没有把input传递给svnserve,所以当我试图“svn up”时,我得到了“svn:Connection意外closures”。 #!/bin/bash if [ "$1" == "-c" ] && [ "$2" == "svnserve" ] && [ "$3" == "-t" ] && [ "$4" == ""] ; then exec svnserve -t else echo "Access denied. User may only run svnserve." fi
我使用putty对亚马逊实例进行ssh,但是当我input命令或向实例发送命令时,它会挂起一段时间。 腻子有什么问题? 我急需帮助。
我们在全国各地的客户端机器上使用tomcat部署web应用程序。 安装完成后,我们希望允许通过中央服务器远程访问这些Web应用程序,但是我们不希望我们的客户端必须在其路由器上打开端口。 有没有一种方法来隧道的HTTPstream量,使连接到中央服务器的人可以访问防火墙后面的Web应用程序? 中央服务器有一个静态IP地址,我们完全控制它。 现在,它是一个窗口框,但如果有必要,它可以更改为一个Linux的盒子。 我们的客户正在运行Windows XP和以上。 我们不需要访问文件系统,我们只想通过浏览器访问Web应用程序。 我们看过反向ssh隧道,但是它显示了扩展问题,因为每个数据包都必须通过中央服务器。