##同一局域网下两台Ubuntu之间传输文件(SCP)
使用SCP命令传输文件:
scp -r /home/dell/桌面/1.txt gnb@172.17.160.8:/home/gnb/_data_/Feng/dataSet
scp:代表“安全复制”,用于通过SSH安全地复制文件和目录。
-r:递归复制整个目录。在复制目录时使用
/home/dell/桌面/1.txt : 要复制的源文件或目录
gnb@:目标机器用户名
172.17.160.8:目标 IP 地址
:/home/gnb/_data_/Feng/dataSet:目标机器存放文件位置
##ssh远程连接
#step1:SSH的安装
SSH分为客户端 openssh-client 和服务器 openssh-server,可以利用以下命令确认电脑上是否安装了客户端和服务器。
dpkg -l | grep ssh
如果只是想远程登陆别的机器只需要安装客户端(Ubuntu默认安装了客户端),如果要开放本机的SSH服务就需要安装服务器。
sudo apt-get install openssh-client
sudo apt-get install openssh-server
#step2:启动服务器的SSH服务
首先确认ssh-server是否已经启动了
ps -e | grep ssh
如图,sshd 表示ssh-server已经启动了。如果没有启动,可以使用如下命令启动:
sudo /etc/init.d/ssh start
停止和重启ssh服务的命令如下:
sudo /etc/init.d/ssh stop #server停止ssh服务
sudo /etc/init.d/ssh restart #server重启ssh服务
#step3:使用客户机远程登录服务器
口令登录非常简单,只需要一条命令,命令格式为: ssh 客户端用户名@服务器ip地址 eg:
ssh ldz@192.168.0.1
还要说明的是,SSH服务的默认端口是22,也就是说,如果你不设置端口的话登录请求会自动送到远程主机的22端口。我们可以使用 -p 选项来修改端口号,比如连接到服务器的1234端口:
ssh -p 1234 ldz@192.168.0.1
#step4:我们可以通过 Ctrl+D 或者 exit 命令退出远程登录。
#ps:SSH的高级应用
使用远程主机不中断的跑程序
当我们利用ssh在远程主机上跑程序的时候,只要关闭了终端就会中断ssh连接,然后远程主机上正在跑的程序或者服务就会自动停止运行。我们可以利用 nohup + 需要运行的程序 使运行的程序在切断ssh连接的时候仍然能够继续在远程主机中运行。nohup即no hang up(不挂起)。
#ps:可能出现密钥问题
解决办法:移除旧的ssh密钥
ssh-keygen -f "/home/widmer/.ssh/known_hosts" -R "10.10.60.75"
这会从 known_hosts 文件中删除与 10.10.60.75 关联的旧密钥。然后尝试再次连接 ssh user@ip