A机:192.168.1.1
B机:192.168.1.2
二、双机建立信任
1、在A机生成秘钥证书
在root下执行ssh-keygen命令,一路回车,生成秘钥证书
# ssh-keygen -t rsa
2、查看生成秘钥文件
# cd ~/.ssh
# ll
文件:私钥证书id_rsa、公钥证书id_rsa.pub
3、A对B建立信任关系
3.1 将公钥证书id_rsa.pub复制到机器B的root家目录的.ssh子目录中,同时将文件名更换为authorized_keys
# scp -r id_rsa.pub root@192.168.1.2:/root/.ssh/authorized_keys
3.2 若3.1报错:No such file or directory
使用:# ssh-copy-id -i id_rsa.pub root@192.168.1.2
ssh-copy-id命令会自动将id_rsa.pub文件的内容追加到远程主机root用户下.ssh/authorized_keys文件中
3.3 查看B机器是否接收
# ssh 192.168.1.2
# cd .ssh/
# ls
# cat authorized_keys
# exit
3.4 B对A建立信任,同上3的 *** 作步骤
kill函数用来发送信号给指定的进程,在Shell下输入man 2 kill可获取其函数原型如下:#include <sys/types.h>#include <signal.h>int kill(pid_t pid,int sig)该函数的行为与第一个参数pid的取值有关,第二个参数sig表示信号编号。如果pid是正数,则发送信号sig给进程号为pid的进程;如果pid为0,则发送信号sig给当前进程所属进程组里的所有进程;如果pid为-1,则把信号sig广播至系统内除1号进程(init进程)和自身以外的所有进程;如果pid是-1还小的负数,则发送信号sig给属于进程组-pid的所有进程。如果参数sig是0,则kill()仍执行正常的错误检查,但不发送信号。可以利用这一点来确定某进程是否有权向另外一个进程发送信号。如果向一个并不存在的进程发送空信号,则kill()返回-1,errno则被设置为ESRCH。函数执行成功返回0,当有错误发生时则返回-1,错误代码存入errno中,详细的错误代码说明请参考man手册。注意:只有具有root权限的进程才能向其他任一进程发送信号,非root权限的进程只能向属于同一个组或同一个用户的进程发送信号。更简单的方法是通过进程名给进程发信号。比如你的进程名是 aproc,你自己定义一个信号量18,那么:#include <signal.h>#include <stdio.h>#include <stdlib.h>#include <unistd.h>char cmd[256]=""int sig = 18char procname[]="aproc"sprintf(cmd, "killall -%d %s\n", sig, procname)system(cmd)就能给特定进程发信号了充分利用system函数,可以简化很多编程工作量,比如查IP地址、查硬盘目录、查磁盘空间等等,编程很麻烦的事都能用system处理,相当于在程序里调用SHELL不需要samba吧!我只是想写一个SH在AIX上执行,实现2,向3,或,3,向2上传下载文件.答题不易,互相帮助,手机提问的朋友在客户端右上角评价点满意即可.
如认可我的回答,请点击采纳为满意回答按钮.
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)