在继续工作之前,我希望能够ssh到远程主机并运行一些重复的命令。 我一直在尝试下面的命令,没有运气: ssh [email protected] 'source /path/to/my/bashrc; ls /logs' 命令运行正常,但是我没有提交一个shell来继续我的工作。 我在这里错过了什么?
我有一个sshd_config文件,configuration为不允许组nologin用户ssh进入此服务器( DenyGroups nologin )。 虽然我在这个组中有几个用户,但我确实希望为其中一个用户覆盖(我们称之为用户greg )。 我尝试添加AllowUsers greg到sshd_config文件,但似乎没有工作。 是否有可能做到这一点? sshd_config如下所示: AllowTcpForwarding no ClientAliveCountMax 1 ClientAliveInterval 300 LoginGraceTime 1m PermitRootLogin no Protocol 2 RSAAuthentication no Subsystem sftp /usr/libexec/openssh/sftp-server UsePAM yes X11Forwarding yes DenyGroups nologin LogLevel INFO MaxAuthTries 4 IgnoreRhosts yes HostBasedAuthentication no PermitEmptyPasswords no PermitUserEnvironment no Ciphers aes128-ctr,aes192-ctr,aes256-ctr 添加“AllowUsers greg”(greg是login组的成员)不允许greg到ssh。
我犯了一个愚蠢的错误…我正忙着玩busybox,并用chsh将root shell从/ bin / sh切换到/ bin / busybox,这似乎破坏了SSH的访问。 当我做: root@dev:~$ ssh [email protected] 我得到: [email protected]'s password: BusyBox v1.22.1 (2015-06-19 07:36:41 CEST) multi-call binary. BusyBox is copyrighted by many authors between 1998-2012. Licensed under GPLv2. See source distribution for detailed copyright notices. Usage: busybox [function [arguments]…] or: busybox –list or: function [arguments]… BusyBox is a multi-call binary […]
我禁用了rootlogin,禁用了密码authentication选项,并且阻止了我运行的linux虚拟服务器的除了22和80以外的所有端口。 访问服务器的唯一方法是使用一个4096位的RSA密钥。 是否有必要运行fail2ban? 除了保持日志更清洁一些,额外的安全是值得的开销吗?
VPN身份validation详细信息是否可以重新用于SSH访问? 上下文:我正在研究让SSO使用VPN进行身份validation的可行性,然后能够通过SSHlogin到服务器,而无需重新提供凭据。 因此,不需要为SSH分开密钥/密码,而是使用与VPN进行身份validation的凭证。 假设用户已经通过VPNauthentication,他们是否可以执行SSHlogin,而无需重新进行身份validation(使用VPN身份validation作为SSO)。 在这一点上,我正在评估的可行性,而不是是否build议。
我创build了一个非常简单的shell脚本来发送SSH命令给多个主机。 现在我已经复制了我的SSH ID,所以我不必使用密码login到服务器。 但是,如果我想为一个示例做一个apt-get update ,那么我必须以root身份login,我相信这不是执行此操作的首选方法吗? 所以问题是什么是最好的方式发送多个ssh命令与多个客户端的sudo权限? #!/bin/bash # Hosts hostarray=( "host1" "host2" "host3" ) for i in "${hostarray[@]}"; do ssh "$i" "command here" done
我可能做错了。 我创build了一个用户: sudo adduser –disabled-password userX 我已经添加了一个公钥到/home/userX/.ssh/authorized_keys 。 但是,当我SSH入帐户,我得到以下错误: port 22: Connection timed out 当我login到其他帐户时,SSH工作正常。 我错了–disabled-password ? 这是否做别的? 任何帮助,将不胜感激。 谢谢。
我用SSH远程在机器上工作,但在删除ld-linux-x86-64.so.2文件后,我closures了SSH会话,现在我无法login,因为它给了我下面的错误: Welcome to Ubuntu 14.04.4 LTS (GNU/Linux 3.13.0-32-generic x86_64) * Documentation: https://help.ubuntu.com/ 21 packages can be updated. 16 updates are security updates. Last login: Sat Apr 2 02:52:19 2016 from ***** /bin/bash: No such file or directory Connection to <machine-ip> closed. 有没有办法通过我可以login并把ld-linux-x86-64.so.2从/ lib64文件夹从其他Ubuntu机器或使用Live CD? 编辑 在其他一些Ubuntu 14.04机器上进行了一些调查后,我才知道ld-linux-x86-64.so.2在/ lib64上是/lib/x86_64-linux-gnu/ld-2.19.so的符号链接。 输出ls -l /lib64/ld-linux-x86-64.so.2 lrwxrwxrwx 1 root root […]
美好的一天 我的VPS允许根据需要传入ssh连接(请参阅规则), 然而,尝试传出的SSH连接无法连接 $ ssh xyz.ddns.net ssh: connect to host xyz.ddns.net port 22: Connection timed out 我发现设置默认策略接受允许传出的SSH连接 Chain INPUT (policy DROP) ACCEPT tcp — anywhere anywhere tcp dpt:ssh /* SSH-SECURE IN (iface:ALL) */ state NEW,RELATED,ESTABLISHED 新 – 连接尚未见过。 相关 – 连接是新的,但与已经允许的另一个连接有关。 应该允许这些传出连接?
我基本上想要做这个服务器默认的问题 ,所以我希望一群人(“pipe理员”)能够login到许多隐藏的服务器与ssh使用跳箱,它存储隐藏的服务器的私钥。 由于更新隐藏服务器上的authorized_keys是相当昂贵的,我只想通过修改跳转框来控制对它们的访问,即通过更改跳转框上的authorized_keys文件来添加或删除“admins”。 我特别不想要的是将存储在跳箱上的私钥泄露给pipe理员,所以链接问题的答案中提到的ssh-agent + ProxyCommand方法将不起作用,因为代理会将私钥从跳箱发送到“pipe理员”,如果我明白的话。 相反,干脆就这样做 ssh -tt jumpbox ssh hidden_server_1 有“pipe理员”不能轻松使用scp和端口转发的缺点。 注意:通过使用自定义脚本作为仅允许必要的命令的loginshell,“admins”的Shell对Shell的访问权限应被禁用。 有没有安全方便的方法来保持scp和端口转发的舒适性,而不会削弱安全限制? 非常感谢您的帮助!