SSH远程登录Linux

Linux TOMORROW 2年前 (2017-05-20) 1479次浏览 1个评论 扫描二维码

 

文章将会实现在Linux机器 A 的终端上登录到Linux机器 B 的终端(从而可以控制机器 B)。

以下操作都基于Linux系统 Ubuntu16 下的shell,两个机器在同一个局域网内。如需超局域网操作则另外进行内网穿透或者两个机器都拥有公网 ip。


一、建立连接教程

1、两个 Ubuntu 系统都需要先安装 openssh-client 和 openssh-server 并且正常联网;然后启动ssh服务:

如果 ubuntu 系统中没有安装ssh程序,也可以使用下列命令进行安装:

$sudo apt-get install openssh-client
$sudo apt-get install openssh-server

安装好后 ssh 服务的启动和停止命令如下:

启动 ssh 服务:

$sudo /etc/init.d/ssh start

停止 ssh 服务:(需要终止服务时才用,经测试,已连接上的 ssh 服务用这条命令是无法终止的,但可以阻止新的连接,需要终止时请请关机哈哈、、、)

$sudo /etc/init.d/ssh stop

重启 ssh 服务:(一般不用)

$sudo /etc/init.d/ssh restart

2、在Linux 机器-B 的终端上:

通过 ifconfig 命令,查看该系统的 ip 地址

SSH 远程登录 Linux

3、在Linux 机器-A 的终端上:

ssh 有两种方式

1)ssh 用户名@ip   //用户名和 IP 都是指机器-B 上的用户名和上面查看到的 IP 地址    

如通过命令:

$ssh tian@192.168.232.130

回车之后就输入Linux 机器-B 上的用户密码,成功之后就会出现下面“welcome to ….”的提示(因为我两个系统的用户名都是一样的,所以不明显,但是通过ls命令查看目录就可以看到目录发生了变化);

这样你在这个Linux 机器-A 上的这个终端输入的命令就几乎完全等同于在Linux 机器-B 上输入的命令了

 2)  ssh -l 用户名 ip                           

二、使用技巧


1、自定义别名代替 IP 登录

 

在~/.ssh/下创建 config 配置文件(.ssh 是一个隐藏目录,~表示当前用户目录,如/home/tian/.ssh),然后加入内容:

 

Host ub                    #ub 是别名
 
hostname 192.168.232.130    #ip 地址
user tian                   #远程用户名

通过以上配置就实现了把 tian@192.168.232.130 的用户名和 ip 地址信息用 ub 代替了

之后重新登录就可以用如这样:

$ssh ub

的命令登录远程终端了

 

2、免密码登录

 

1)通过命令在Linux A 机下生成公钥/私钥对:

$ssh-keygen -t rsa -P ''

2)然后把Linux A 机下的~/.ssh/id_rsa.pub 文件里的内容复制到Linux B 机的 ~/.ssh/authorized_keys 文件里。

 

3、文件上传下载:

====== ====== ====== ====== 
(以下命令是针对在未登录远程终端的环境下执行的的,因为当你登录远程终端之后,Ubuntu-A 就变成了远程机,Ubuntu-B 就变成了本地机)

从 本地 复制到 远程 

====== 
* 复制文件: 
        * 命令格式(remote_username@remote_ip 可以用别名替代,file 应包括文件路径): 
               

$scp local_file remote_username@remote_ip:remote_folder

                或者        

$scp local_file hostname:remote_folder

                

从 远程 复制到 本地 
====== 
从 远程 复制到 本地,只要将 从 本地 复制到 远程 的命令 的 后 2 个参数 调换顺序 即可; 

* 命令格式(remote_username@remote_ip 可以用别名替代,file 应包括文件路径):

$scp remote_username@remote_ip:remote_file  local_folder

       或者 

$scp hostname:remote_file  local_folder

可能有用的几个参数 : 

-v 和大多数 linux 命令中的 -v 意思一样 , 用来显示进度 . 可以用来查看连接 , 认证 , 或是配置错误 . 

-C 使能压缩选项 . 

-P 选择端口 . 注意 -p 已经被 rcp 使用 . 

-4 强行使用 IPV4 地址 . 

-6 强行使用 IPV6 地址 . 


TOMORROW 星辰 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:SSH 远程登录 Linux
喜欢 (0)
TOMORROW
关于作者:
一个从石头坑掉到泥坑里的攻城狮。
鲤鱼耳机发表我的评论  请填写正确的 个人信息
取消评论
表情 加粗 斜体 签到
(1)个小伙伴在吐槽
  1. 好文章!666,学习了
    jlvshi2019-05-05 20:40 回复 Windows 7 | 未知浏览器