如何使用SSH登录远程服务器

如何使用SSH登录远程服务器,第1张

Windows下有很多SSH工具。在这里用的是Putty。如果安装了Git并配置使用Putty的话,就不需要另外在安装Putty了。使用SSH连接服务器命令如下:ssh IP地址

一般来说为了安全性考虑,端口号等一些参数并不会使用默认值。这样的话命令就变成这样:

ssh 用户名@IP地址 -p 端口号

如果连接成功的话会提示你输入远程服务器的密码。全部成功之后SSH就会显示远程服务器的提示符,这时候就说明连接成功了。

每次登录SSH都需要输入密码很麻烦,而且可能不太安全。SSH还能使用另外一种登录方式,也就是使用密钥登录。这种登录方式需要客户端生成一堆公钥私钥对,然后将公钥添加到服务器中,这样下次就可以直接登录了。

首先生成SSH密钥,依照提示输入信息即可。默认生成在用户主目录中的.ssh文件夹中。带pub的是公钥,接下来需要添加到服务器中。

ssh-keygen

然后将本地公钥添加到服务器中,需要使用另一个命令:

scp -P 端口号 本地文件路径 用户名@远程服务器地址:远程路径

然后登陆服务器,找到复制进去的公钥,将公钥名字改为authorized_keys并添加到对应的.ssh文件夹中。然后退出SSH重新登陆试试,成功的话不需要输入密码就会直接进入远程服务器。

首先说一下使用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远程执行命令找不到环境变量的问题

        在实际运用中在当前服务器执行命令后,需要在另一台服务器继续执行某些命令,分开去到另一台服务器执行也是比较麻烦的,因此整理下集中执行的方式

1、首先配置ssh免密操作

Linux 下实现SSH互信: https://www.jianshu.com/p/2456d98aa607

2、简单命令

ssh root@192.168.1.1 "cd /var/liblscd "

2.1 使用时注意,双引号必须有。若没加双引号,第二条及之后的命令会在本地执行

2.2 分号是将两条语句间隔开

2.3 单双引的区别:单引号不会解析值,是什么就传什么;双引号会解析值,将解析结果传过去

3、多条命令

     ssh root@192.168.1.1<<reallssh

      cd /var/lib/test

      tar -zxvf api.com.tar.gz

      ......

      exit

      reallssh

3.1 命令写在 << reallssh(开始) 至 reallssh(结束) 之间

3.2 reallssh可自己定义为其他形式

3.3 在结束前加上exit退出远程

4、可能遇到的问题

问题:远程登录主机时出现Pseudo-terminal will not be allocated because stdin is not a terminal. 错误

解决方案:字面意思是伪终端将无法分配,因为标准输入不是终端。

所以需要增加-t -t参数来强制伪终端分配,即使标准输入不是终端。

to force pseudo-tty allocation even if stdin isn’t a terminal.

参考样例如下:

ssh -t -t user1@192.168.1.1 -p 22

--------------------------------------------------------------------------------

参考:https://blog.csdn.net/jinking01/article/details/84386769


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

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

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

发表评论

登录后才能评论

评论列表(0条)

    保存