ssh远程连接服务器执行命令

ssh远程连接服务器执行命令,第1张

首先说一下使用ssh远程连接服务器执行命令的方法:

为了方便描述,这里把测试服务器称之为A1,目标服务器称之为A2

如果可以直接登录到A2,则配置成功!

下面来说问题:

ssh在远程连接服务器执行命令的时候,经常会遇到环境变量的问题,如下:

如果出现上面的提示,则说明环境变量配置有问题。

先来说解决办法

问题解决!

这里就要说明bash有两种方式interactive + login shell模式和non-interactive + non-login shell模式

在服务器上执行命令,走的是interactive + login shell模式,而通过远程登录执行命令,走的是non-interactive + non-login shell模式。

这两种模式对于环境变量的读取是有区别的。

Shell首先会加载/etc/profile文件,然后再尝试依次去加载下列三个配置文件之一,一旦找到其中一个便不再接着寻找:

~/.bash_profile

~/.bash_login

~/.profile

所以当远程执行命令时,我们只需要让~/.bashrc文件中的环境变量与/etc/profile中的环境变量一致即可!

参考:

如何解决SSH远程执行命令找不到环境变量的问题

购买百度云服务器后,百度云会给你发送短信告知登陆用户名,但一般不会通过手机短信将密码发给你,所以首先要进入工作台后,鼠标放在vnc远程后,选择实例设置——>重置密码。

之后一般会需要几分钟重启服务器,显示重置密码中。

按照百度云官方操作步骤是这样的

但是呢,按照以上的操作之后,始终连不上,总是提示“用户秘钥未在远程主机注册”。

根据错误提示,判断问题应该是公钥没在服务器上注册。有两种方法可以尝试:

1、通过管理后台的秘钥对管理——创建秘钥对——使用已有的公钥——将上一步创建的公钥内容粘贴进去,然后在绑定服务器实例即可。

但是通过以上操作之后,仍然连不上。

2、尝试第二种方法,直接将ssh公钥都追加到authorized_keys文件。

先通过用户名和密码登陆服务器,

然后编辑.ssh/authorized_keys 文件。

进入后,将前面创建的公钥粘贴进去。

再连接,成功!


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/226027.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-08
下一篇2023-04-08

发表评论

登录后才能评论

评论列表(0条)

    保存