Linux    远程登录

2011年4月26日

14:21

希望大家跟我一起从零学起,一步一步成为Linux高手。

 

ssh命令

ssh hostname  登陆别的主机,假如你在远程登录时在自己主机上用的是root用户,远程登录时便会默认为以root用户登陆,别的用户同理。

ssh -l username hostname

ssh username@hostname  以指定用户身份登陆主机的两种方式,

ssh username@hostname 'command' 直接在远程主机上执行命令

eg:ssh root@192.168.0.254  'wall "How are you?"'

向0.254主机发送“How are you?”也就是在0.254主机的用户界面显示这句话

用root用户登陆后你便可以以管理员身份做任何事情了

 

wall  : send a message to everybody. 可以向登陆该用户的每个终端发送信息 这里不做详细介绍

logout : 退出远程登陆

 

 

远程登陆间的拷贝

 

src
src root@192.168.0.254:/root/tmp/1.txt   ./    将0.254主机上tmp文件夹下的1.txt文件复制到自己主机的根目录下
src  ./2.txt   root@192.168.0.254:/root  将根目录下的2.txt文件复制到0.254主机的root目录下

-r 拷贝目录

-p 保留原文件的属主权限

 

rsync  远程同步工具

可实现本机拷贝和远程主机间的拷贝

在拷贝过程中 它会比较两者的不一样  如果目标文件夹有这个文件并且跟要拷贝的文件一样的话,就会跳过这个文件不再拷贝,存在要拷贝的文件但文件不一样的话就会拷贝并覆盖,不存在便拷贝过去

eg:rsync /etc/issue /tmp   本地拷贝速度较慢

         rsync root@192.168.0.254:/root/filename  /tmp

rsync 本身不具有加密功能

-e 添加加密功能

-e ssh 使用ssh进行数据加密

-r 递归拷贝目录

-a 即拷贝目录又保存权限

rsync支持断点续传

--partial 继续从上一次断开的地方进行传送

--progress 显示下载过程

--partial  + --progress=-P

综上,我们可以发现,rsync主要用于避免重复拷贝,提高效率

 

 

无需密码的远程登陆:

 

ssh支持两种认证

1,给予口令的认证

2,给予密钥的认证

将密钥的公钥放在远程服务器 即可登陆

非对称加密方法常用的有两种:dsa rsa

dsa 做认证 rsa做认证与加密 我们用到的是认证, 但一般常用rsa

ssh-keygen -t rsa  生成密钥命令

生成的密钥保存在 ~/.ssh 中  .ssh为隐藏目录

id_rsa  私钥    id_rsa.pub 公钥

将id_rsa.pub 中的内容追加到 目标主机 ~/.ssh/authorized_keys 文件中,即可实现认证远程登录

具体做法:

scp id_scp.pub root@192.168.0.254:/tmp
ssh root@192.168.0.254
cat  /tmp/id_rsa.pub  ~/.ssh/authorized_keys
logout

完成

 

简单做法:ssh-copy-id 专门用于拷贝id的指令

ssh-copy-id  -i  ~/.ssh/id_rsa.pub root@192.168.0.254

 

Windows 无需密码登陆Linux 的方法一样

Windows生成一组密钥 将公钥追加到Linux的~/.ssh/authorized_keys中

 

小信息: (帮你熟记小命令)

who 当前系统有几个用户登陆 以及登陆终端

w 显示的信息更详细

 

echo "How are you ?" >> pts/2

echo "How are you ?" >> dev/tty2

向特定终端发送消息

 

 ping

-c  尝试次数

-W  等待时间

 

traceroute 列出原主机到目标主机所经过的路径信息

netstat -r 显示本机路由表

netstat -rn 类似于route -n

dig  DNS服务器检查命令

 

希望大家提些意见,基础知识篇将会尽快补上。

 


转载于:https://blog.51cto.com/linuxzoe/554139