i3 SSH配置以解锁没有密码

时间:2020-02-23 14:30:17  来源:igfitidea点击:

我想与我们分享一个关于如何配置i3 ssh会话以记住密码的诀窍,以便登录桌面。
如果你曾经使用过i3窗口经理,那么你肯定知道i3很棒,你可以坚持的东西。

什么是i3.

对于那些新的I3,I3是一个带有干净,可读和记录的代码的动态平铺窗口管理器,具有扩展的Xinerama支持,Libxcb而不是xlib的使用。

I3 SSH问题?

唯一关于i3的唯一问题是每次开始新的终端窗口并尝试将SSH发送到远程计算机,即使我们使用SSH-Agent和SSH-Add命令保存了密码,也会向我们询问密码。

Prereqs:

安装和配置X11-SSH-ASKPASS。

我在Arch Linux机器上这样做。
请参阅Linux发行版的相关文档。

$sudo pacman -S x11-ssh-askpass libx11 libxt keychain
$sudo ln -sv /usr/lib/ssh/x11-ssh-askpass /usr/local/bin/SSH_ASKPASS
'/usr/local/bin/SSH_ASKPASS' -> '/usr/lib/ssh/x11-ssh-askpass'
$which SSH_ASKPASS
/usr/local/bin/SSH_ASKPASS

然后,确保SSH代理始终以X会话开始。
我的.zshrc文件包含该行:

if [[ "$TTY" == "/dev/tty1" ]]; then
ssh-agent startx
fi

上面可以放置在/etc/profile或者~/.bash_profile或者~/.bashrc上

I3 SSH:生成SSH键

# ssh-keygen -t rsa -b 4096
Generating public/private rsa key pair.
Enter file in which to save the key (/jose/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
.our identification has been saved in 
.pub.public key has been saved in 
The key fingerprint is:
ba:ee:99:36:b3:cb:de:1d:bb:bf:b1:19:05:5a:8e:b9 Hyman@theitroad
The key's randomart image is:
+--[ RSA 4096]----+
| |
| |
| o |
| * . |
| S + . . |
| . . . |
| . E o |
| .+= . o = |
| Hyman@theitroad=. +o=. |
+-----------------+

当要求密码时,请提供一个。

i3 SSH:设置自动解锁SSH键

在生成SSH键后,每次启动新shell时都会将i3环境配置为自动解锁SSH键,而不要求密码。
I3 SSH密码短语应通过SSH-Add保存,无需手动干预。

首先创建一个将持有i3 ssh passphrase的文件,隐藏它,只有我们可以记住。
在我的情况下,这个文件将是$home/.passfile。

cat >$HOME/.passfile<<EOF
#!/bin/bash
echo "your-passphrase-here"
EOF

然后使这个文件可执行文件:

chmod +x $HOME/.passfile

要在启动的每个shell窗口中解锁i3 ssh passphrase解锁,如果使用zsh,则将以下内容添加到.bashrc或者.zshrc文件。

echo 'cat ~/.ssh/id_rsa | SSH_ASKPASS="$HOME/.passfile" ssh-add - &>/dev/null' >> ~/.bashrc

源.bashrc以实现当前shell会话的更改。

source ~/.bashrc

然后将SSH公钥复制到远程计算机之一,通过绑定到ssh来测试

$ssh-copy-id  Hyman@theitroad
$cat >> ~/.ssh/config<<EOF
Host zenoss
 User root
 Hostname zenoss.example.com
EOF
$ssh zenoss
Last login: Thu Mar 9 15:46:15 2016 from gateway
[Hyman@theitroad ~]#

从上面的输出中,我们应该注意到它没有向我询问密码。