Articles of ssh

尝试在Linux上设置SSHauthentication – 授予访问所有的时间

我目前正试图保护我的一个Linux的盒子。 我希望设备只允许那些拥有ssh私钥的系统访问。 为了做到这一点,我做了什么(不幸的是,在我看来,似乎机制不工作,任何人都可以ssh进入) 在我的Mac上 使用ssh-keygen生成1个ssh密钥。 文件密钥被写入名为mykeys和mykeys.pub 2 – 然后将mykeys.pub复制到设备的path/.ssh/authorized_keys 。 我不得不创build.ssh文件夹和authorized_keys文件。 这是我做的 cat mykeys.pub >> ~/.ssh/authorized_keys 然后我重命名我的私钥mykeys,似乎我仍然可以login。 最初没有密码设置。为什么仍然授予我访问权限的任何build议,即使我已经重新命名了私钥 更新: 以下是我尝试过的一些事情 A-我将文件(mykeys和mykeys.pub)移出〜/ .ssh B-我从known_hosts中删除了设备的ip 我仍然能够通过SSH连接到设备这是我得到的输出 Joe-Macbook:~ Joe$ ssh -vvv [email protected] OpenSSH_6.9p1, LibreSSL 2.1.8 debug1: Reading configuration data /etc/ssh/ssh_config debug1: /etc/ssh/ssh_config line 21: Applying options for * debug1: /etc/ssh/ssh_config line 56: Applying options for * debug2: ssh_connect: […]

SSHinput密码一行

我想通过SSH执行一个命令,但是我的服务器正在使用密码,我只想做一行而不要求密码。 ~# ssh -t root@dev5 'echo "tes" ; bash' Enter passphrase for key '/home/sed22/.ssh/id_rsa': 感谢帮助。

如何设置SSHconfiguration来抓取一部分ssh主机名并作为variables使用?

我正在将SSH设置为多个数据中心,并且设置相同。 每个数据中心都有一个跳箱,在这之后可以访问各种数据库服务器等。 手动指定所有这些服务器的条目是一件很痛苦的事,当它们在数据中心几乎相同时,除了跳转IP之外。 所以我想设置我的.ssh/config文件,这样我就可以键入datacenter_name-server_behind_jumpbox并让SSH从主机的前面抓取datacenter_name (这样我就可以在ProxyCommand重新使用它了)。 例如,如果我想访问datacenter1中的Maria服务器,我会创build一个名为datacenter1的跳转框的SSH条目。 然后对于它后面的Maria服务器,我会设置如下所示: Host %dc%-maria Hostname maria User jeff ProxyCommand ssh -q -W %h:%p %dc 这样我只需要为位于跳箱后面的每种types的服务器设置一个条目,并且它自动知道要打哪个数据中心跳箱。 是这样的可能吗?

由于权限,scp将文件复制到远程服务器失败

我认为我的根本问题是我不完全理解ssh / scp是如何工作的。 但是我不知道怎么去google上试试看我的问题。 问题描述 我在serverA上创build了一个bash脚本。 它试图从服务器A到服务器B scp文件。 该脚本将被安排为cron作业。 为了testing这个脚本是否可以正常工作,我只是试图手动将文件从serverA scp到serverB。 但是我得到了serverA上的“权限被拒绝”错误信息。 我首先login到serverA,像这样: mycomputer#> ssh [email protected] 问题: 手动scptesting是一个好主意吗? 因为我使用我的密钥login到serverA,但最终,这是要触发scp命令的cron作业。 我如何知道cron作业将使用哪个用户ID /密钥? 我应该怎样谷歌更好地了解这一切是如何工作的? 谢谢。

Ansible主机“无法访问”:是

我刚开始学习Ansible的基础知识。 并通过SSH面临与服务器连接有关的一些问题。 我创build了一个名为publich_html的文件夹,并将我的代码放入该文件夹并更改权限 。 当我尝试执行我的剧本时,它给我以下错误 UNREACHABLE! =“{”changed“:false,”msg“:”SSH错误:无法将数据发送到远程主机,确保该主机可以通过ssh访问“,”无法访问“ 而当我尝试从用户家庭或root用户ping服务器,而不进入一个目录,它ping完美。 这里是详细的输出: SSH:EXEC sshpass -d15 sftp -b – -C -vvv -o ForwardAgent = yes -o StrictHostKeyChecking = no -o User = root -o ConnectTimeout = 10 configuration文件是: [default] host_key_checking = False 我不知道我失去了什么。 任何人有任何想法呢?

input和输出端口必须匹配吗?

我们的服务器在一个自定义的端口上设置了sftp,比如12345 。 连接可以像这样完成,并且需要端口设置: sftp -oPort 12345 user@host 我明白,至less指定服务器的端口。 它是否也修复客户端端口? 例如,如果客户端位于具有端口限制的防火墙之后,是否可以使用另一个端口进行连接? 我相信这个serverfault答案回答这个问题,但我想确认。 这个明确的问题也可能使人们更容易find。

远程主机标识已更改

我试图通过我的mac( ssh [email protected] )上的terminal在OVH(unbuntu 16)上的云服务器上手动连接serverpilot, 操作失败了一次,现在,我正在尝试重新设置它我收到一条错误消息“警告:远程主机标识已更改!” 我在博客上读到,键入ssh-keygen -R hostname可能会解决这个问题,但是当我这样做时,我收到一条消息"Host hostname not found in /Users/GregMac/.ssh/known_hosts" 任何想法如何解决这个问题? (我是服务器configuration和commande线上的总新手……这就是为什么我指望serverpilot) 谢谢

如何限制从主机访问docker容器

我是docker工人。 我设置了一个在3333端口运行web应用程序的容器,它工作的很好。 默认情况下,我们可以从主机访问容器bash而不需要密码。 我与其他用户共享主机,所以我想设置密码或SSH密钥从主机访问容器,以防止他人访问我的容器。 可能吗?

通过ssh网关连接到RabbitMQ(Amqp)

我有以下情况: DevMachine (D) need to connect to a gateway/bastion server (G) and then be able to talk to another server serving RabbitMQ (R) traffic on port 5672. 我尝试使用ssh隧道到网关: ssh -L 5672:localhost:5672 G和接下来我想让网关实例让我连接到R的5672.我该如何做到这一点? 我觉得我在这里错过了一步。 我想要什么: D ->G -> R 我得到的是D ->G 如果我有一个在G上本地运行的rabbitmq实例 – 这可行,但我想要的是基本上使用G作为VPN。 谢谢!

HTTP over多跳ssh

我可以通过多跳ssh访问一个linux服务器 ssh -L3880:localhost:3880 user@first-hop-server -t ssh -L3880:localhost:3880 user@end-server 这对通过ssh访问很好。 不过,我也想通过Web浏览器访问端服务器端口80上的Apache Web服务器。 我已经find解决scheme,而不是跳,但我不知道如何适应它。 我在MacOS机器上 编辑:如果我尝试Tero的build议,并激活SSH上的-v我看到或多或less: debug1: Connection to port 3880 forwarding to localhost port 3880 requested. debug1: channel 3: new [direct-tcpip] debug1: Connection to port 3880 forwarding to localhost port 3880 requested. debug1: channel 2: new [direct-tcpip] channel 2: open failed: connect failed: Connection refused debug1: […]