ubuntu ssh 连接远程服务器

准备工作

  • 服务器 centos6.0 x64
    • 安装: OpenSSH
      命令:yum install openssh-server
    • 启动服务:/etc/init.d/sshd start
    • 检查服务:chkconfig --list sshd
      显示如下:
    $ chkconfig --list sshd
    

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

  • 本地环境 Ubuntu17.10
    • 打开终端输入: sudo apt install ssh
    • 安装完成后输入命令: ssh [email protected] -p yyyyy
      • xx.xx.xx.xxx :远程服务器IP地址
      • yyyyy:远程服务器端口号。
    • 输入远程服务器 密码。
    • 连接成功。
ubuntu ssh 连接远程服务器_第1张图片
DeepinScrot-1650.png

进阶

SSH无密码登录的设置步骤
首先我们在自己的Linux系统上生成一对SSH Key:SSH密钥和SSH公钥.密钥保存在自己的Linux系统上。
然后公钥上传到Linux服务器.之后我们就能无密码SSH登录了.SSH密钥就好比是你的身份证明.
1在自己的Linux系统上生成SSH密钥和公钥

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

ssh-keygen -t rsa

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

ssh-keygen -b 4096 -t rsa

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

Generating public/private rsa key pair.
Enter file in which to save the key (/home/apanda/.ssh/id_rsa):  按Enter键
Enter passphrase (empty for no passphrase):   输入一个密码
Enter same passphrase again:   再次输入密码
Your identification has been saved in /home/apanda/.ssh/id_rsa.
Your public key has been saved in /home/apanda/.ssh/id_rsa.pub.
The key fingerprint is:
e1:dc:ab:ae:b6:19:b0:19:74:d5:fe:57:3f:32:b4:d0 apanda@vivid
The key's randomart image is:
+---[RSA 4096]----+
| .. |
| . . |
| . . .. . |
| . . o o.. E .|
| o S ..o ...|
| = ..+...|
| o . . .o .|
| .o . |
| .++o |
+-----------------+

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

less .ssh/id_rsa
2将SSH公钥上传到Linux服务器
  • 可以使用ssh-copy-id命令来完成.

    ssh-copy-id username@remote-server

    输入远程用户的密码后,SSH公钥就会自动上传了.SSH公钥保存在远程Linux服务器的.ssh/authorized_keys文件中.
    上传完成后,SSH登录就不需要再次输入密码了.但是首次使用SSH Key登录时需要输入一次SSH密钥的加密密码.
    (只需要输入一次,将来会自动登录,不再需要输入密钥的密码.)
    使用scp命令来传送文件时也不需要输入密码.

其他交互

  • 安装scp: sudo apt install scp

1、获取远程服务器上的文件

scp -P 2222 [email protected]:/root/lnmp0.4.tar.gz /home/lnmp0.4.tar.gz

P 为端口参数,
2222 表示更改SSH端口后的端口,如果没有更改SSH端口可以不用添加该参数;
[email protected] 表示使用root用户登录远程服务器www.xxx.com,也可以使用IP地址;
:/root/lnmp0.4.tar.gz 表示远程服务器上的文件;
/home/lnmp0.4.tar.gz表示保存在本地上的路径和文件名;
还可能会用到p参数保持目录文件的权限访问时间等。

2、获取远程服务器上的目录

scp -P 2222 -r [email protected]:/root/lnmp0.4/ /home/lnmp0.4/

 P 为端口参数;
 2222 表示更改SSH端口后的端口,如果没有更改SSH端口可以不用添加该参数;
 -r 参数表示递归复制(即复制该目录下面的文件和目录);
 [email protected]表示使用root用户登录远程服务器www.xxx.com,也可以使用IP地址;
 :/root/lnmp0.4/ 表示远程服务器上的目录;
 /home/lnmp0.4/表示保存在本地上的路径。

3、将本地文件上传到服务器上

scp -P 2222 /home/lnmp0.4.tar.gz [email protected]:/root/lnmp0.4.tar.gz

 P 为端口参数,
 2222 表示更改SSH端口后的端口,如果没有更改SSH端口可以不用添加该参数。 
 /home/lnmp0.4.tar.gz表示本地上准备上传文件的路径和文件名。
 [email protected] 表示使用root用户登录远程服务器www.xxx.com,也可以使用IP地址
 :/root/lnmp0.4.tar.gz 表示保存在远程服务器上目录和文件名。

4、将本地目录上传到服务器上

scp -P 2222 -r /home/lnmp0.4/ [email protected]:/root/lnmp0.4/

大写P 为端口参数,2222 表示更改SSH端口后的端口,如果没有更改SSH端口可以不用添加该参数。
-r 参数表示递归复制(即复制该目录下面的文件和目录);
/home/lnmp0.4/表示准备要上传的目录,
[email protected] 表示使用root用户登录远程服务器www.xxx.com,也可以使用IP地址
:/root/lnmp0.4/ 表示保存在远程服务器上的目录位置。

5、可能有用的几个参数 :

-v 和大多数 linux 命令中的 -v 意思一样 , 用来显示进度 . 可以用来查看连接 , 认证 , 或是配置错误 .
-C 使能压缩选项 .
-4 强行使用 IPV4 地址 .
 -6 强行使用 IPV6 地址 .

你可能感兴趣的:(ubuntu ssh 连接远程服务器)