linux无密码登录:
原理:首先在客户端上创建一对公私钥 (公钥文件:~/.ssh/id_rsa.pub; 私钥文件:~/.ssh/id_rsa)
然后把公钥放到服务器上(~/.ssh/authorized_keys), 自己保留好私钥.在使用ssh登录时,ssh程序会发送私钥去和服务器上的公钥做匹配.
如果匹配成功就可以登录了
步骤:
1.在本地生成公钥和私钥
ssh-kengen -t rsa
2.然后将公钥拷贝到服务端
scp ~/.ssh/id_rsa.pub root@remotehost:/root/.ssh
password:*******
3.登录到服务端
ssh root@remotehost
password:*******
cd ~/.ssh
cat id_rsa.pub >> authorized_keys
rm -fr id_rsa.pub
4.chmod 600 authorized_keys
5.测试
在客户端使用ssh root@remotehost
配置sshd-config:
vi /etc/ssh/sshd-config
PermitRootLogin no
把下面三行的注释去掉:
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
PermitEmptyPasswords no
PasswordAuthentication no
service sshd restart
关于错误:The authenticity of host 192.168.0.xxx can't be established.
解决办法:执行ssh -o StrictHostKeyChecking=no 192.168.0.xxx 就OK
Linux 输出重定向>和>>的区别是什么?
> 是定向输出到文件,如果文件不存在,就创建文件;如果文件存在,就将其清空;
一般我们备份清理日志文件的时候,就是这种方法:先备份日志,再用`>`,将日志文件清空(文件大小变成0字节);
>>
这个是将输出内容追加到目标文件中。如果文件不存在,就创建文件;如果文件存在,则将新的内容追加到那个文件的末尾,
该文件中的原有内容不受影响。
阅读(1072) | 评论(0) | 转发(0) |