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远程执行命令找不到环境变量的问题

如果你的Ubuntu 1804 SSH连接输入延迟,可能是由于以下一些原因导致:
1 网络问题:输入延迟可能是由于网络问题引起的,比如网络阻塞、高延迟、网络拥塞等等。
2 SSH服务设置问题:SSH服务器设置不当也会导致输入延迟,例如ssh配置文件中的参数设置不当、sshd服务配置不当等。
3 其他进程占用system资源:如果你的系统资源已经被其他进程占用,那么输入延迟也很可能出现。
为了解决这个问题,可以采取以下方法:
1 检查网络状况:检查网络状况,查看是否有网络拥塞、阻塞等情况,也可以尝试通过使用其他网络来测试是否存在相同的问题。
2 调整SSH服务器设置:可以通过调整SSH服务器的配置文件(/etc/ssh/sshd_config)来优化SSH服务,例如调整服务器端口,修改MaxSessions属性等。
3 检查系统资源占用:使用top或htop命令查看系统中当前进程的系统资源占用情况,以便找到哪些进程正在占用系统资源,并进行必要的措施以释放资源。
希望这些方法能够帮助你解决Ubuntu 1804 SSH输入延迟的问题。

密码登录顾名思义极其简单,登录之前需要在ssh服务器上有相应的用户名与登录密码。

密码登录命令行:ssh username@hostname -p port
username:登录用户名
hostname:ssh服务器,既可以是ip也可以是域名
port:这个为可选项,即ssh服务器的端口,如果为空则默认端口为22

秘钥登录使用加密的

终端下生成秘钥命令:ssh-keygen -t rsa(如果不输入密码,则不需要密码)
生成过程中会提示输入秘钥文件的名称,如果输入为 Key,则会生成 Key 与 Keypub 两个文件, Key为私钥,Keypub为公钥。将Key放入本机用户目录的 ssh目录下,将ssh目录权限改为700

将生成的公钥 Keypub 上传至目标服务器,并将Keypub放置于用户目录的ssh目录,同样ssh目录权限也为700
然后执行 cat Keypub >> authorized_keys 将公钥导入,并确定authorized_keys权限为 600

秘钥配置好后,可以执行 ssh -i Key username@hostname -p port
ssh 默认秘钥为 id_rsa, 需要加上参数-i 指明秘钥


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10655534.html

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

发表评论

登录后才能评论

评论列表(0条)

保存