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