ubuntu ssh 连接远程服务器

ubuntu ssh 连接远程服务器,第1张

sshd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
```
设置开机启动 : chkconfig sshd on

打开终端,使用下面的ssh-keygen来生成RSA密钥和公钥.-t表示type,就是说要生成RSA加密的钥匙.

RSA也是默认的加密类型.所以你也可以只输入 ssh-keygen .默认的RSA长度是2048位.如果你非常注重安全,那么可以指定4096位的长度.

生成SSH Key的过程中会要求你指定一个文件来保存密钥,按Enter键使用默认的文件就行了.然后需要输入一个密码来加密你的SSH Key.密码至少要20位长度.SSH密钥会保存在home目录下的ssh/id_rsa文件中.SSH公钥保存在ssh/id_rsapub文件中.

查看 ssh/id_rsa 文件就会看到,这个文件是经过加密的(encrypted).也就是用你输入的密码来加密.

scp -P 2222 root@>默认配置
Windows下有很多SSH工具。在这里我是用的是Putty。如果安装了Git并配置使用Putty的话,就不需要另外在安装Putty了。使用SSH连接服务器的命令如下:
ssh IP地址
一般来说为了安全性考虑,端口号等一些参数并不会使用默认值。这样的话命令就变成这样:
ssh 用户名@IP地址 -p 端口号
如果连接成功的话会提示你输入远程服务器的密码。全部成功之后SSH就会显示远程服务器的提示符,这时候就说明连接成功了。
密钥登录
每次登录SH都需要输入密码很麻烦,而且可能不太安全。SSH还能使用另外一种登录方式,也就是使用密钥登录。这种登录方式需要客户端生成一堆公钥私钥对,然后将公钥添加到服务器中,这样下次就可以直接登录了。
首先生成SSH密钥,依照提示输入信息即可。默认生成在用户主目录中的ssh文件夹中。带pub的是公钥,接下来需要添加到服务器中。
ssh-keygen
然后将本地公钥添加到服务器中,需要使用另一个命令:
scp -P 端口号 本地文件路径 用户名@远程服务器地址:远程路径
然后登陆服务器,找到复制进去的公钥,将公钥名字改为authorized_keys并添加到对应的ssh文件夹中。然后退出SSH重新登陆试试,成功的话不需要输入密码就会直接进入远程服务器。

安装了远程系统资源管理器插件后,你已经可以从 Eclipse 中直接登录远程服务器。这里要说的是如何使用现有的密钥或创建一个新的密钥,免口令建立 SSH 连接。这样做的好处是既省事又更安全。 使用现有的密钥 首先,到菜单 Window/Preferences 选择 General/Network Connections/SSH2 在这里,你可以指定现有的 SSH2 密钥(必须是OpenSSH的标准) 提示:为了避免出现问题,更改SSH配置后,重新启动Eclipse。 创建一个新的密钥 (Key) 点选密钥管理 (Key Management) 标签窗口,创建一个新的密钥。 点击 Generate RSA Key 按钮,生成一个RSA密钥 。 然后: 添加 comment(inria-gforge-key, 通常可输入:user@host) 输入密码,并确认密码。(连接服务器时需输入一次该密码。如果是你的专用电脑,可以不设此密码) 复制公共密钥框中的内容,将此公共密钥粘贴到服务器上的 ~/ssh/authorized_keys 文件中去。 点击保存私钥 (Save Private Key) 按钮,把您的私钥保存在一个文件 id_rsa 中。 这样当你再从 Eclipse 登录远程服务器时,就不需要服务器上的用户口令了。

SSH 是 Linux 下进行远程连接的基本工具。
一般情况下我们可以通过 ssh username@xxxxxxxxxxxx 登录远程服务器,如果要管理多台服务器,这样太长了。
可以在家目录的 ssh 中新建config文件,设置别名。
比如我有一台个人的云主机。IP是120163163163,端口是4722(一般都是22,这里为了安全我改为了其他),登录用户名是ubuntu,登录方式是证书登录。

这样执行 ssh cloud 或 ssh alias 就无密码登录云主机了

ssh cloud "df -h"

ssh cloud "df -h; ps;"

比如 sudo 开头的可能需要用户输入密码,需要 TTY。
添加 -t 参数后,ssh 会保持登录状态,直到你退出需要交互的命令。

再举个实际例子:
ssh -t flux sudo -u fueladminprd ssh 1921681100
这句话实际执行了两步:

可以用单引号或双引号开头,然后写上几行命令,最后再用相同的引号来结束。
> 开头的就是输入下一行命令
如果需要在命令中使用引号,可以混合使用单双引号。

在远程服务器执行 ls node ,本地定义变量a,传入到命令中。达到一样的效果。
在下图的命令中为 bash 指定了 -c 参数

本地创建demosh,内容是: ls node
运行 ssh cloud < demosh
通过重定向 stdin,本地的脚本 demosh 在远程服务器上被执行。

修改 demosh 内容为:

执行 ssh cloud 'bash -s'< demosh aa bb cc
bash 就是 $0 第一个参数。

>

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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存